Spring security : authentification avec MySQL
Bonjour à tous :),
j'essaie de mettre en place un système d'authentification sur mon app web à l'aide de Spring Security. Pour le moment, j'ai suivi ce tuto. https://spring.io/guides/tutorials/s...dd-a-home-page.
Ca fonctionne mais pas de la façon que je voudrais. Pour le moment, ça utilise le webservice REST suivant :
Code:
1 2 3 4 5
|
@RequestMapping("/user")
public Principal user(Principal user){
return user;
} |
Moi, ce que j'aimerais, c'est envoyer le login+mdp et vérifier dans ma base MySQL si ça correspond. J'ai donc fait le webservice suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
@RequestMapping("/check-login")
public User login(FormulaireLoginDto formulaireLoginDto){
User user = null;
try {
user = userDao.findByLogin(formulaireLoginDto.getLogin());
} catch (Exception e) {
return null;
}
return user;
} |
Le problème c'est que je ne peux pas appeler ce web service. C'est comme si une première authentification était demandée.
Je m'explique. Lorsque je lance mon app. qui est composée de Spring Boot + Spring Security + AngularJs; je peux accéder à mon webservice si j'utilise le plugin Advanced Rest Client de Chrome via l'adresse http://localhost:8080/check-login. Ca me renvoi bien un statut 200:OK.
Par contre, si je passe par mon navigateur en entrant http://localhost:8080, j'arrive sur ma page d'accueil et dans les log de l'outil de développement Chrome j'ai le message suivant : http://localhost:8080/check-login 401 (Unauthorized)
Pour information, si je rentre directement le lien http://localhost:8080/check-login dans mon navigateur, une fenêtre d'authentification s'ouvre et si je rentre mon login+mdp Spring security, j'ai accès au webservice.
Avez-vous une idée de ce qu'il se passe ? Merci.