Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2818 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Spring Security] Authentification avec un Web service

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Spring Security] Authentification avec un Web service

n°1898648
Toinou87
That misread could have been.
Posté le 24-06-2009 à 14:00:24  profilanswer
 

Salut tout le monde,
 
j'ai besoin d'utiliser un web service pour gerer l'authentification du client que je developpe. Je ne controle donc pas les informations que je peux recuperer.
 
J'ai vu sur le net des exemples en implementant userDetailsService cependant dans mon cas je pense que cela ne peut pas marcher.
 
De ce que j'en ai compris, l'implementation de userDetailsService fonctionne ainsi:
-on recupere les donnees de l'utilisateur (mot de passe compris) avec son login
-spring security check en local si le mot de passe recuperer est le meme que celui tapé.
 
Mon prebleme c'est que mon web service n'a pas de methode permettant de retrouver ce genre d'informations.
 
En gros, j'ai 2 methodes qui pourraient servir pour l'authentification:
1) AuthResult getAuthResultOnBehalfOfUser(String canonicalName, String domainName, Context caller)
Mais je n'ai pas le password utilisateur dans AuthResult donc je ne peux pas utiliser l'implementation de userDetailsService
2) AuthResult authenticate(String username, byte[] password)
Mais je ne vois pas comment l'utiliser avec userDetailsService etant donné que la seule methode de cette implementation est : loadUserByUsername(String username) / donc je n'ai pas le mot de passe tapé par l'utilisateur.
 
Je pense donc qu'il faut utiliser une autre facon de faire, pas userDetailsService car userDetailsService ne me permet pas d'utiliser le mot de passe. Cependant je ne vois pas comment.
Pouvez vous me donner quelques pistes pour :
1-spring security affiche un formulaire (ok)
2-l'utilisateur rentre son login et pwd (ok)
3-spring security fait appel a un authenticationProvider personnalisé en fournissant login et pwd (pas ok)
4-j'appelle mon web service avec login et pwd(ok) et check si c'est bon pour l'authentification
5-je retourne un object userDetails ou qqc du meme genre contenant les droits utilisateurs (depend du 3-)
 
Merci d'avance


---------------
Toinou87 ;-p May the force be with you!!
mood
Publicité
Posté le 24-06-2009 à 14:00:24  profilanswer
 

n°1899286
bugsan
Posté le 25-06-2009 à 20:52:09  profilanswer
 

Le UserDetails est utilisé par le DaoProvider, qui doit être utilisé dans le cas précis que tu as énuméré : récupération de toutes les habilitations depuis une base données (UserDetailsService) puis (après !) comparaison avec le mot de passe.
 
Mais dans ton cas, c'est plutôt un RemoteProvider (je n'ai pas le nom exact) qu'il faut utiliser.
Avec le RemoteProvider, spring security délègue totalement la gestion du contrôle, dans ton cas, à ton webservice.

n°1899928
Toinou87
That misread could have been.
Posté le 28-06-2009 à 23:14:56  profilanswer
 

J'ai reussi a le faire depuis, j'avais pas posté la solution ici, dsl.
Je l'ai fait en implementant AuthenticationProvider (il me semble que c'est le nom). Apparement ca marche aussi avec AuthenticationManager mais j'avais pas reussi.
 
Donc j'implemente AuthenticationProvider. Dans la méthode "authenticate" je cast l'authentication (récupérée en parametre) en UsernamePasswordAuthenticationToken. je peux en tirer le mdp et le login pour mon WebService.
 
BTW: merci pour la reponse.


---------------
Toinou87 ;-p May the force be with you!!

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Spring Security] Authentification avec un Web service

 

Sujets relatifs
web service[Java] Appeler un service web
[Webservice] Determiner l'url du service du serveur[Web] Problème d'affichage de contenu
[Spring 2.5] Passer les données d'un formulaire au controleurLancement de service avec un script
Utilisation d'un service sous Axis2popen win32: crash dans un service ?!
reporting service matrix liste ou autreSpring Security Login Role
Plus de sujets relatifs à : [Spring Security] Authentification avec un Web service


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR