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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.