Ça marche pour moi. Voici mon code de test :-
Classe CustomUserDetails
public class CustomUserDetails implements UserDetails {
public String getFirstName() {
return "hello";
}
...
}
Balise personnalisée dans JSP
La balise suivante renvoie hello
.
<security:authentication property="principal.firstName" />
Au fait, assurez-vous que vous ne mettez pas getFirstName()
dans la classe anonyme, car cela ne fonctionnera pas.
Ce que j'essaie de dire, c'est qu'il ne faut pas faire ça.
...
return new UserDetails() {
// adding extra method here will not work
public String getFirstName() {
return "hello";
}
public String getUsername() {
return "test";
}
...
};
... faire ceci :-
...
// this class implements UserDetails and contains getFirstName()
CustomUserDetails csd = new CustomUserDetails();
csd.set...(...)
...
return csd;