Dans mon mémo, le didacticiel relatif à Spring Security, il est dit que l'identifiant utilisateur et le mot de passe utilisés pour l'authentification peuvent être référencés à partir de la session, mais je me suis simplement posé des questions sur les autres paramètres. Rien ne s'est passé, tout ce que j'avais à faire était d'ajouter un getter à la classe qui implémentait UserDetails. ..
public class User {
private String userId;
private String password;
private String hoge;
//getter,setter omis
}
public class UserDetailsImpl implements UserDetails {
private final User user;
public UserDetailsImpl(User user) {
this.user = user;
}
public String getHoge() {
return user.getHoge();
}
//Omettre les méthodes qui doivent être remplacées
}
Voir l'article que j'ai écrit plus tôt pour la méthode d'authentification J'ai implémenté le traitement d'authentification de connexion DB avec Spring Security (en utilisant MyBatis) J'ai implémenté le traitement de l'authentification de connexion DB dans Spring Security (en utilisant MyBatis) Partie 2
@Controller
public class Controller {
@RequestMapping("/")
public index(@AuthenticationPrincipal UserDetailsImpl userDetails) {
System.out.println(userDetails.getUserId) // userId
System.out.println(userDetails.getPassword) //password
System.out.println(userDetails.getHoge) //hoge
}
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4"> <!--Ajoutez ceci et utilisez Spring Security de Thymeleaf-->
<!--réduction-->
<body>
<h>Bonjour,<span sec:authentication="principal.userId"></span>M.</h> <!-- principal.Peut être référencé par le nom de la variable membre-->
</body>
Recommended Posts