Bonjour à tous,
Je débute avec Spring Secuity (version 3.1) et je souhaite sécuriser une application web sous tomcat.
Pour cela, j'ai créé un filtre de type FilterChainProxy dans mon config-security.xml.
Mon fichier définit également les trois filtres httpSessionContextIntegrationFilter, exceptionTranslationFilter et filterSecurityInterceptor
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <beans:bean id="springSecurityFilterChainProxy" class="org.springframework.security.web.FilterChainProxy"> <beans:constructor-arg> <beans:list> <filter-chain pattern="/log/**" filters="httpSessionContextIntegrationFilter" /> <filter-chain pattern="/**" filters="httpSessionContextIntegrationFilter,exceptionTranslationFilter,filterSecurityInterceptor" /> </beans:list> </beans:constructor-arg> </beans:bean>
Et dans mon web.xml, j'ai ajouté mon filtre de la mnière suivante.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <filter> <filter-name>Spring Security Filter Chain Proxy</filter-name> <filter-class>org.springframework.security.web.FilterChainProxy</filter-class> <init-param> <param-name>targetBean</param-name> <param-value>springSecurityFilterChainProxy</param-value> </init-param> </filter> <filter-mapping> <filter-name>Spring Security Filter Chain Proxy</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
Mon bean springSecurityFilterChainProxy est correctement créé au lancement de mon serveur. Pourtant lors d'une requête http, l'attribut chainList est vide quand je passe dans la méthode dofilter() de la classe.
Je pense que mon bean n'est pas correctement injecté dans mon filter. J'ai tenté différents <param-name> comme 'targetBean', 'targetBeanName', 'className', mais rien ne fonctionne.
Merci d'avance.
Partager