Récupérer l'utilisateur loggé dans un controller
Bonjour,
Je souhaiterais récupérer l'utilisateur loggé dans un controller depuis une requête ajax. Le problème est que je ne récupère que "anonymousUser"...
J'ai essayé de le via :
Code:
1 2 3 4
|
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
String username = authentication.getName();
User user = userRepository.findUserByPseudo(username); |
Le spring-security.xml si besoin :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:security="http://www.springframework.org/schema/security"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<bean id="simpleUrlAuthenticationSuccessHandler" class="org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler">
<property name="defaultTargetUrl" value="/home"/>
<property name="targetUrlParameter" value="spring-security-redirect"/>
</bean>
<security:http pattern="/resources/**" security="none"/>
<security:http auto-config="true" use-expressions="true" create-session="always" >
<security:intercept-url pattern="/index*" access="permitAll" />
<security:intercept-url pattern="/film/ajouter-un-film*" access="isAuthenticated()" />
<security:form-login
authentication-success-handler-ref="simpleUrlAuthenticationSuccessHandler"
authentication-failure-url="/home" />
<security:logout logout-success-url="/" logout-url="/logout" />
</security:http>
<security:authentication-manager>
<security:authentication-provider>
<security:jdbc-user-service data-source-ref="dataSource"
users-by-username-query="select login, password, valide from users where login=?"
authorities-by-username-query="select us.login, ro.roleName from users us, roles ro, users_roles ru
where us.id = ru.users_id AND ro.id = ru.roles_id AND us.login =?"
/>
</security:authentication-provider>
</security:authentication-manager>
</beans> |
Merci d'avance pour votre aide.