Bonjour,

J'ai un soucis de configuration avec spring security.
Dans mon web.xml j'ai déclaré ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
	<servlet-mapping>
		<servlet-name>PopupCommunication</servlet-name>
		<url-pattern>/admin/**</url-pattern>
	</servlet-mapping>				
	<servlet-mapping>
		<servlet-name>PopupCommunication</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
Dans mon bean-security
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<http pattern="/resources/**" security="none"/>
<http auto-config="true" use-expressions="true">
	<intercept-url pattern="/login*" access="permitAll"/>	
	<intercept-url pattern="/public/**" access="permitAll"/>		
        <intercept-url pattern="/admin/**" access="hasRole('ROLE_ADMIN')" /> 
	<intercept-url pattern="/**" access="isAuthenticated()" />
 
	<form-login default-target-url="/"
				login-page ="/login.html"
				authentication-failure-url="/login.html?error" />
	<remember-me/>
	<logout logout-success-url="/login.html"/>
</http>
Lorsque j'essayes de me connecter à /public/inscription, j'arrive sur une page blanche et dans la console j'ai le message que SecurityContext is empty or contents are anonymous.

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
40
41
42
43
 
2014-03-12 16:44:53,837 [DEBUG] (AntPathRequestMatcher.java:matches:116) Checking match of request : '/public/inscription'; against '/resources/**'
2014-03-12 16:44:53,839 [DEBUG] (FilterChainProxy.java:doFilter:337) /public/inscription at position 1 of 11 in additional filter chain; firing Filter: 'SecurityContextPersistenceFilter'
2014-03-12 16:44:53,839 [DEBUG] (HttpSessionSecurityContextRepository.java:readSecurityContextFromSession:127) No HttpSession currently exists
2014-03-12 16:44:53,840 [DEBUG] (HttpSessionSecurityContextRepository.java:loadContext:85) No SecurityContext was available from the HttpSession: null. A new one will be created.
2014-03-12 16:44:53,840 [DEBUG] (FilterChainProxy.java:doFilter:337) /public/inscription at position 2 of 11 in additional filter chain; firing Filter: 'LogoutFilter'
2014-03-12 16:44:53,840 [DEBUG] (FilterChainProxy.java:doFilter:337) /public/inscription at position 3 of 11 in additional filter chain; firing Filter: 'UsernamePasswordAuthenticationFilter'
2014-03-12 16:44:53,841 [DEBUG] (FilterChainProxy.java:doFilter:337) /public/inscription at position 4 of 11 in additional filter chain; firing Filter: 'BasicAuthenticationFilter'
2014-03-12 16:44:53,841 [DEBUG] (FilterChainProxy.java:doFilter:337) /public/inscription at position 5 of 11 in additional filter chain; firing Filter: 'RequestCacheAwareFilter'
2014-03-12 16:44:53,841 [DEBUG] (FilterChainProxy.java:doFilter:337) /public/inscription at position 6 of 11 in additional filter chain; firing Filter: 'SecurityContextHolderAwareRequestFilter'
2014-03-12 16:44:53,842 [DEBUG] (FilterChainProxy.java:doFilter:337) /public/inscription at position 7 of 11 in additional filter chain; firing Filter: 'RememberMeAuthenticationFilter'
2014-03-12 16:44:53,842 [DEBUG] (FilterChainProxy.java:doFilter:337) /public/inscription at position 8 of 11 in additional filter chain; firing Filter: 'AnonymousAuthenticationFilter'
2014-03-12 16:44:53,843 [DEBUG] (AnonymousAuthenticationFilter.java:doFilter:102) Populated SecurityContextHolder with anonymous token: 'org.springframework.security.authentication.AnonymousAuthenticationToken@9055e4a6: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS'
2014-03-12 16:44:53,843 [DEBUG] (FilterChainProxy.java:doFilter:337) /public/inscription at position 9 of 11 in additional filter chain; firing Filter: 'SessionManagementFilter'
2014-03-12 16:44:53,843 [DEBUG] (SessionManagementFilter.java:doFilter:92) Requested session ID 0E6E5DF572C854BADEB374856BEA170F is invalid.
2014-03-12 16:44:53,844 [DEBUG] (FilterChainProxy.java:doFilter:337) /public/inscription at position 10 of 11 in additional filter chain; firing Filter: 'ExceptionTranslationFilter'
2014-03-12 16:44:53,844 [DEBUG] (FilterChainProxy.java:doFilter:337) /public/inscription at position 11 of 11 in additional filter chain; firing Filter: 'FilterSecurityInterceptor'
2014-03-12 16:44:53,844 [DEBUG] (AntPathRequestMatcher.java:matches:116) Checking match of request : '/public/inscription'; against '/login*'
2014-03-12 16:44:53,844 [DEBUG] (AntPathRequestMatcher.java:matches:116) Checking match of request : '/public/inscription'; against '/public/**'
2014-03-12 16:44:53,845 [DEBUG] (AbstractSecurityInterceptor.java:beforeInvocation:194) Secure object: FilterInvocation: URL: /public/inscription; Attributes: [permitAll]
2014-03-12 16:44:53,845 [DEBUG] (AbstractSecurityInterceptor.java:authenticateIfRequired:310) Previously Authenticated: org.springframework.security.authentication.AnonymousAuthenticationToken@9055e4a6: Principal: anonymousUser; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@957e: RemoteIpAddress: 127.0.0.1; SessionId: null; Granted Authorities: ROLE_ANONYMOUS
2014-03-12 16:44:53,846 [DEBUG] (AffirmativeBased.java:decide:65) Voter: org.springframework.security.web.access.expression.WebExpressionVoter@3ed99ae8, returned: 1
2014-03-12 16:44:53,846 [DEBUG] (AbstractSecurityInterceptor.java:beforeInvocation:215) Authorization successful
2014-03-12 16:44:53,846 [DEBUG] (AbstractSecurityInterceptor.java:beforeInvocation:227) RunAsManager did not change Authentication object
2014-03-12 16:44:53,847 [DEBUG] (FilterChainProxy.java:doFilter:323) /public/inscription reached end of additional filter chain; proceeding with original chain
2014-03-12 16:44:53,847 [DEBUG] (AbstractBeanFactory.java:doGetBean:246) Returning cached instance of singleton bean 'entityManagerFactory'
2014-03-12 16:44:53,849 [DEBUG] (OpenEntityManagerInViewFilter.java:doFilterInternal:163) Opening JPA EntityManager in OpenEntityManagerInViewFilter
2014-03-12 16:44:53,910 [DEBUG] (DispatcherServlet.java:doService:823) DispatcherServlet with name 'PopupCommunication' processing GET request for [/PopupCommunication/public/inscription]
2014-03-12 16:44:53,914 [DEBUG] (AbstractHandlerMethodMapping.java:getHandlerInternal:220) Looking up handler method for path /public/inscription
2014-03-12 16:44:53,916 [DEBUG] (AbstractHandlerMethodMapping.java:getHandlerInternal:227) Returning handler method [public java.lang.String org.popupcommunication.controller.RegisterController.showIndex(org.springframework.web.context.request.WebRequest,org.springframework.ui.Model)]
2014-03-12 16:44:53,916 [DEBUG] (AbstractBeanFactory.java:doGetBean:246) Returning cached instance of singleton bean 'registerController'
2014-03-12 16:44:53,922 [DEBUG] (DispatcherServlet.java:doDispatch:912) Last-Modified value for [/PopupCommunication/public/inscription] is: -1
2014-03-12 16:44:53,960 [DEBUG] (AbstractAutowireCapableBeanFactory.java:invokeInitMethods:1555) Invoking afterPropertiesSet() on bean with name 'inscription'
2014-03-12 16:44:53,960 [DEBUG] (DispatcherServlet.java:render:1206) Rendering view [org.springframework.web.servlet.view.JstlView: name 'inscription'; URL [/WEB-INF/jsp/inscription.jsp]] in DispatcherServlet with name 'PopupCommunication'
2014-03-12 16:44:53,965 [DEBUG] (InternalResourceView.java:renderMergedOutputModel:236) Forwarding to resource [/WEB-INF/jsp/inscription.jsp] in InternalResourceView 'inscription'
2014-03-12 16:44:54,035 [DEBUG] (FrameworkServlet.java:processRequest:966) Successfully completed request
2014-03-12 16:44:54,037 [DEBUG] (AbstractBeanFactory.java:doGetBean:246) Returning cached instance of singleton bean 'logListenerBean'
2014-03-12 16:44:54,081 [DEBUG] (AbstractBeanFactory.java:doGetBean:246) Returning cached instance of singleton bean 'org.springframework.security.web.access.expression.DefaultWebSecurityExpressionHandler#0'
2014-03-12 16:44:54,087 [DEBUG] (OpenEntityManagerInViewFilter.java:doFilterInternal:188) Closing JPA EntityManager in OpenEntityManagerInViewFilter
2014-03-12 16:44:54,087 [DEBUG] (EntityManagerFactoryUtils.java:closeEntityManager:338) Closing JPA EntityManager
2014-03-12 16:44:54,088 [DEBUG] (ExceptionTranslationFilter.java:doFilter:115) Chain processed normally
2014-03-12 16:44:54,088 [DEBUG] (HttpSessionSecurityContextRepository.java:saveContext:269) SecurityContext is empty or contents are anonymous - context will not be stored in HttpSession.
2014-03-12 16:44:54,089 [DEBUG] (SecurityContextPersistenceFilter.java:doFilter:97) SecurityContextHolder now cleared, as request processing completed

J'ai du mal à comprendre le problème, d'autant que si je suis authentifié je n'ai pas de problème d'accessibilité à ma zone public.

Merci d'avance
Lionel