Bonjour,
Je n'arrive pas à recupérer la valeur du username (login de la personnes connecté à mon application).
Voici ce que j'ai définit dans ma page JSF :
Et dans mon applicationContext, j'utilise une connecion JDBC pour recuperer le login et l'authority du compte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <h:outputText value="usernameeeeeeeee" /><sec:authentication property="principal.fullName"/> <security:authorize ifAllGranted="ROLE_USER"> <h:commandButton value="Visualiser la demande en user" action="#{demandeController.visualiserDemande}"/> </security:authorize> <security:authorize ifAllGranted="ROLE_ADMIN"> <h:commandButton value="Visualiser la demande en admin" action="#{demandeController.visualiserDemande}"/> </security:authorize>
Dans ma classe Controller, j'arrive par contre a bien recuperer le login grace a la methode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <!-- authentification par JDBC --> <authentication-provider user-service-ref="userDetailsService"/> <!-- authentification par JDBC --> <bean id="userDetailsService" class="org.springframework.security.userdetails.jdbc.JdbcDaoImpl"> <property name="dataSource" ref="dataSource"/> <property name="enableAuthorities" value="true"/> <property name="enableGroups" value="false"/> <property name="usersByUsernameQuery" value="SELECT username,password,enabled FROM users WHERE username = ?" /> <property name="authoritiesByUsernameQuery" value="select username,authority from authorities where username = ? "/> <property name="groupAuthoritiesByUsernameQuery" value="" /> </bean>
Du coup, je suis bloqué pour faire la gestion des rôles sur mes pages JSF car je n'arrive pas a recuperer le principal.username
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Authentication auth = SecurityContextHolder.getContext().getAuthentication(); user.setIdentifiant(auth.getName());
Je précise que je n'ai pas d'entite UserDetailsService. Faut il que j'en implémente ? Mon souhait est simplement de faire de la gestion des roles pour afficher des boutons en fontion des rôles que l'utilisateur possède...
Merci de votre aide...
Pour info, j'utilise Spring security 2.0.5
Partager