Spring Boot PasswordEncoder Fehler

15

Ich lerne Spring Boot zu lernen, indem ich ein kleines Projekt mache. Zur Zeit habe ich die Hauptklasse:

%Vor%

eine Member-Klasse (ID, Vorname ..), eine MemberController-Klasse:

%Vor%

und eine WebSecurityConfig-Klasse:

%Vor%

Wenn ich " Ссылка " starte, bekomme ich eine Login-Seite, ich gebe "user" als user & amp; "user" als Passwort und dann bekomme ich das hardcoded Member. Es hat gut geklappt, aber dann habe ich direkt auf mein Projekt geklickt - Run as-Maven install (weil ich eine Abhängigkeit hinzugefügt habe, ich weiß nicht, ob das nötig war, zum ersten Mal auch mit Maven). Seitdem gebe ich "user" & amp; "user" auf der Login-Seite bekomme ich diesen Fehler:

%Vor%

und es bleibt auf der Login-Seite. Ich habe versucht, die Abhängigkeit & amp; Maven wieder installieren, aber kein Glück. Das ist mein POM:

%Vor%

Was ist schief gelaufen? Danke

    
Aa Yy 29.10.2017, 12:02
quelle

5 Antworten

35

In spring-security-core:5.0.0.RC1 wird der Standard PasswordEncoder als DelegatingPasswordEncoder erstellt. Wenn Sie die Benutzer im Speicher ablegen, stellen Sie die Kennwörter im Klartext bereit. Wenn Sie versuchen, den Codierer von DelegatingPasswordEncoder abzurufen, um das Kennwort zu bestätigen, kann kein Kennwort gefunden werden, das mit der Speicherung dieser Kennwörter übereinstimmt.

Verwenden Sie diese Methode, um stattdessen Benutzer zu erstellen.

%Vor%

Sie können Ihren Passwörtern auch einfach {noop} voranstellen, damit die DelegatingPasswordEncoder die NoOpPasswordEncoder zur Validierung dieser Passwörter verwendet. Beachten Sie, dass NoOpPasswordEncoder jedoch veraltet ist, da es nicht empfehlenswert ist, Kennwörter im Nur-Text-Format zu speichern.

%Vor%

Weitere Informationen finden Sie in diesem Beitrag.

Ссылка

    
dmendezg 07.11.2017, 05:07
quelle
18

Bitte verwenden NoOpPasswordEncoder für inMemoryAuthentication

%Vor%     
Nirbhay Rana 26.12.2017 09:56
quelle
0

Sie können dies verwenden, aber User.withDefaultPasswordEncoder() ist bereinigt

%Vor%     
George Rosario 23.03.2018 08:49
quelle
0

Sie müssen eine Art Passwort-Encoder haben, aber

%Vor%

ist veraltet und nicht mehr für die Produktion geeignet. Verwenden Sie stattdessen:

%Vor%

Siehe auch: Ссылка

    
Dean 28.03.2018 18:57
quelle
0

Ich habe einfach

hinzugefügt %Vor%

Zur Konfigurationsklasse

    
KirstenKali 03.04.2018 16:22
quelle