Authentification multiple X509 et Basic Auth
Bonjour
Je cherche à sécuriser l'accès à une application, grâce à Spring Security, de telle sorte qu'une partie de l'appli soit accessible via une authentification par certificat (type X509) et une autre partie via une authentification basique.
Pour cela j'ai intégré 2 balise <http> à ma configuration Spring, ainsi :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
<!-- Web security -->
<authentication-manager>
<authentication-provider ref="ldapAuthenticationProvider" />
</authentication-manager>
<beans:bean id="authService" class="com.security.ldap.userDetailsService">
<beans:property name="config">
<beans:ref bean="daoAuthenticationProviderConfig" />
</beans:property>
</beans:bean>
<http auto-config='false' pattern="/main/**fix*" use-expressions="true">
<access-denied-handler error-page="/forbidden"/>
<x509 subject-principal-regex="UID=(.*?),.*" user-service-ref="authService"/>
<intercept-url pattern="/main/**fix*" access="hasRole('ROLE_USER')" />
</http>
<http auto-config='false' pattern="/**" use-expressions="true">
<access-denied-handler error-page="/forbidden"/>
<http-basic />
<intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
</http> |
Mon problème est le suivant : les 2 modes d'authentification fonctionnent bien indépendamment l'un de l'autre (c'est à dire si je n'en renseigne qu'un dans ma conf) mais dès lors que je renseigne les 2 seule la conf basic auth est prise en compte et régit les accès à toutes les URLs, y compris celle correspondant au pattern "/main/**fix*" .
Manque-t-il quelque chose à ma configuration pour permettre les 2 modes d'authentification de coexister?
Merci