Salut,
Je souhaiterais que mon appli flex s'authentifie automatiquement par SSO (sous Windows).
Je m'explique.
Côté Flex, je peux m'authentifier avec un login+password sur le channelSet d'un RemoteObject :
Code:
1
2
3 private function login():void { ro.channelSet.login("user", "password"); }
Côté serveur, où j'utilise spring-security, dans le fichier de configuration j'ai défini mon authentification-provider avec son userDetailsService :
Et en gros, quand j'appelle la fonction ActionScript login() côté client, ça appelle côté serveur, et vérifie si dans UserDetails l'utilisateur est authentifié :Code:
1
2
3
4
5
6
7
8 <bean id="authenticationProvider" class="UserDetailsAuthenticationProvider"> <security:custom-authentication-provider /> <property name="userDetailsService"> <ref bean="myUserDetailsService"/> </property> </bean> <bean id="myUserDetailsService" class="MyUserDetailsService" />
Pour tester, je renvoie toujours un user bidon authentifié :Code:protected UserDetails retrieveUser(String username, UsernamePasswordAuthenticationToken authentication);
Ainsi, je suis authentifié côté client et je peux appeler mes méthodes sécurisées.Code:return new User("user", "password", true, true, true, true, new GrantedAuthority[] { new GrantedAuthorityImpl("ROLE_USER") });
Le problème, c'est que je voudrais avoir les "vrais" users, et notamment récupérer le login SSO de l'utilisateur, côté serveur, pour pouvoir ensuite indiquer dans mon UserDetails si l'utilisateur a les droits ou pas.
Et c'est là que je bloque : comment récupérer côté serveur les informations SSO de l'utilisateur, en passant par SpringSecurity (qui je crois utilise jcifs)?
Merci de votre aide.