Encoder by name not found in Shopware/Components/Password/Manager.php on line 79

Nach einem Update von 4.0.8 auf 4.1 komme ich nicht mehr ins Backend. Der Pfad “backend/Login/login” gibt mir den Fehler “Encoder by name not found in Shopware/Components/Password/Manager.php on line 79” aus.

Der Stack trace deutet darauf hin, dass die Methode “Shopware\Components\Password\Manager->getEncoderByName(NULL)” mit dem Parameter “NULL” aufgerufen wird…sprich es scheint so zu sein dass das System nicht weiss wie die Kennwörter gecoded sind. Gibt es dazu eine Lösung? Ich würde das ganze gerne auf di eaktuellste Version von Shopware anheben, muss aber vorher nochins Backend um die Plugins zu aktualisieren…

Lösung gefunden…ich vermute mal einfach dass die DB des Shops total zerschossen ist…ich kenne die Historie des Shops nicht, aber bei jedem Updateschritt muss ich manuell in die DB eingreifen.

Der Fehler lässt sich umgehen durch das abschalten der Kennwortüberprüfung in „Shopware/Components/Password/Manager.php“ : 

public function isPasswordValid($password, $hash, $encoderName)
    {
        return true; // getEncoderByName($encoderName);

        return $encoder->isPasswordValid($password, $hash);
    }

Dann kommt es (bei mir) noch zu einem Fehler dass das System in der Tabelle s_core_auth die Spalte „encoder“ nicht findet. Diese einfach per phpMyAdmin als „TEXT“ hinzufügen. 

Mal sehen was beim nächsten Update kommt :wink: