Ich habe eine einfache Anwendung, in der ich Benutzer registrieren und authentifizieren kann. Ich habe die Passwörter verschlüsselt und erfolgreich in der Lage, sie zu authentifizieren. Ich verwende Spring 3, Spring Security 3 und Hibernate 3 in meiner Anwendung.
Jetzt möchte ich ihre Passwörter mit der ID des Benutzers abgleichen, aber ich kann diese Funktionalität nicht erreichen. Könnte mir jemand helfen, es zu erreichen? Ich habe es schon eine ganze Weile versucht, aber ich kann es nicht schaffen.
Hier ist der Code, den ich habe, um Benutzer mit ihrer ID zu salzen und zu authentifizieren.
xyz-security.xml
%Vor%UserDetailsAdapter.java
%Vor%UserDetailsServiceImpl
%Vor%UserServiceImpl
%Vor%Könnte mir jemand helfen zu verstehen, was ich hier vermisse? Vielen Dank.
ReflectionSaltSource
extrahiert ein Salz aus der Instanz von UserDetails
. Aber Sie verwenden org.springframework.security.core.userdetails.User
als eine Implementierung von UserDetails
, und es hat keine Eigenschaft namens id
(stattdessen haben Sie diese Eigenschaft in UserDetailsAdapter
, was keinen Sinn ergibt, da UserDetailsAdapter
ist ein Singleton).
Sie müssen also eine Unterklasse von org.springframework.security.core.userdetails.User
mit id
-Eigenschaft erstellen und sie von Ihrem UserDetailsAdapter
zurückgeben.
Tags und Links hibernate spring-security salt