Bonjour,

Voilà je rencontre un problème pour la configuration des accès à mon appli web et j'aurai besoin de votre aide.
J'utilise Spring pour la gestion de mes accès à mon application via un LDAP. Je débute sur Spring donc j'ai suivi un tuto pour m'aider à configurer mon fichier xml :
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
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:sec="http://www.springframework.org/schema/security"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
		http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">
 
<!-- Configuration de la sécurité par URL -->
	<sec:http auto-config='true'>
	   <!-- Pas de sécurité pour les trucs publics -->
	   <sec:intercept-url pattern="/css/**" filters="none"/>
	   <sec:intercept-url pattern="/img/**" filters="none"/>
	   <sec:intercept-url pattern="/scripts/**" filters="none"/>
           <sec:intercept-url pattern="/jsp/login.jsp*" filters="none"/>
	   <!-- Sécurité pour les trucs privés -->
	   <sec:intercept-url pattern="/**" access="ROLE_USER" />
	   <!-- Formulaire de connexion -->
	   <sec:form-login login-page="/jsp/login.jsp" authentication-failure-url="/jsp/login.jsp?erreur"/>
	</sec:http>
 
	<!-- Gestion des utilisateurs avec LDAP -->
	<sec:ldap-server url="ldap://mon_ldap" port="38" manager-dn="mon_dn" manager-password="mon_pass" />
	<sec:ldap-user-service   id="userService"
            user-search-base="c=fr"
            user-search-filter="uid={0}"
       />
 
       <sec:authentication-manager alias="authenticationManager">
    	   <sec:authentication-provider user-service-ref="userService"/>
       </sec:authentication-manager>
</beans>
Ce n'est pas moi qui gère le LDAP que je dois utilisé et ce LDAP est configuré de façon que les utilisateurs enregistrés dans le LDAP n'ont pas de rôle attaché.
Mon problème est que bien que mon authentification au LDAP fonctionne (c'est à dire qu'il trouve bien l'utilisateur dans le LDAP d'après les logs) aucun rôle n'est retourné par le LDAP et l'authentification échoue :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
2010-03-03 10:09:35,218 DEBUG [AbstractContextSource.java:259] : Got Ldap context on server 'ldap://mon_ldap'
2010-03-03 10:09:39,531 DEBUG [DefaultLdapAuthoritiesPopulator.java:216] : Roles from search: []
2010-03-03 10:09:39,531 DEBUG [LdapUserDetailsMapper.java:51] : Mapping user details from context with DN: cn=mon_user,ou=E,o=...,c=fr
2010-03-03 10:09:39,531 DEBUG [AbstractAuthenticationProcessingFilter.java:319] : Authentication request failed: org.springframework.security.authentication.BadCredentialsException: Bad credentials
Voilà, ce que j'aimerai faire donc c'est d'attribuer automatiquement un rôle par défaut aux utilisateurs qui passent l'authentification LDAP mais je ne sais pas si c'est possible.

Est ce que quelqu'un aurait une solution ?