Bonjour,

Je cherche à me connecter à eXo Portal 2.5 en passant par une authentification via un annuaire LDAP (Open LDAP)

J'ai suivi les explications données par le wiki (http://wiki.exoplatform.org/xwiki/bi...+Configuration) et ait configuré mon ldap-configuration.xml (voir plus bas)

Lorsque je me connecte avec un utilisateur de l'annuaire, Je suis redirigé vers une page d'erreur 403 avec ce joli message : "L'accès à la ressource demandé a été interdit".

En revenant en arrière et en essayant de nouveau, j'arrive à me connecter. Toutefois, je n'arrive pas à synchroniser les groupes avec eXo et donc à configurer les pages pour chacun des groupes.

J'ai ce message dans la console :
[WARN] portal:UIPortalApplication - Could not load user profile for admin. Using default portal locale.

De plus, les utilisateurs et groupes de eXo Portal sont importées dans l'annuaire. Je souhaiterais n'avoir que l'import de LDAP à eXo et non l'inverse.
En clair, je veux juste pouvoir me connecter avec les utilisateurs de mon annuaire, en utilisant les groupes dont ils font partie.

Je suis sûr de ne pas tout avoir compris dans la configuration d'eXo, où de ne pas avoir tout fait.

Si vous avez des idées...
Merci,

Gwenhaël

ldap-configuration.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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
 
<?xml version="1.0" encoding="ISO-8859-1"?>
<configuration>
	<component>
  	<key>org.exoplatform.services.ldap.LDAPService</key>
		<type>org.exoplatform.services.ldap.impl.LDAPServiceImpl</type>
    <init-params>
      <object-param>
        <name>ldap.config</name>
        <description>Default ldap config</description>
        <object type="org.exoplatform.services.ldap.impl.LDAPConnectionConfig">         
 
	  			<!-- for multiple ldap servers, use comma seperated list of host:port (Ex. ldap://127.0.0.1:389,10.0.0.1:389) -->
		      <field  name="providerURL"><string>ldap://localhost:389</string></field>
 
		 	  	<field  name="rootdn"><string>cn=Manager,dc=my-domain,dc=com</string></field>
 
		  		<field  name="password"><string>secret</string></field> 	  		
 
	        <field  name="version"><string>3</string></field>
 
  	      <field  name="minConnection"><int>5</int></field>
 
    	    <field  name="maxConnection"><int>10</int></field>    	
 
    	    <field  name="referralMode"><string>follow</string></field>  
 
					<field  name="authenticationType"><string>simple</string></field> 
 
<!--
					<field  name="referralMode"><string>ignore</string></field>  
-->  
 
    	    <field  name="serverName"><string>open.ldap</string></field>
 
<!--					
          LDAP server names : default,
          										active.directory,
          										open.ldap, 
          										netscape.directory,
          										redhat.directory;
-->    	    
 
 
      	 </object>
      </object-param>
    </init-params>
  </component>
 
  <component>
    <key>org.exoplatform.services.organization.OrganizationService</key>
    <type>org.exoplatform.services.organization.ldap.OrganizationServiceImpl</type>
    <component-plugins>
	    <component-plugin>
	      <name>init.service.listener</name>
	      <set-method>addListenerPlugin</set-method>
	      <type>org.exoplatform.services.organization.ldap.OrganizationLdapInitializer</type>
	      <description>this listener populate organization ldap service create default dn</description>      
	    </component-plugin>  
    </component-plugins> 
    <init-params>           
      <value-param>
        <name>ldap.userDN.key</name>
        <description>The key used to compose user DN</description>
        <value>uid</value>
      </value-param>
 
      <object-param>
        <name>ldap.attribute.mapping</name>
        <description>ldap attribute mapping</description>
        <object type="org.exoplatform.services.organization.ldap.LDAPAttributeMapping">                
          <field  name="userLDAPClasses"><string>top,person,organizationalPerson,inetOrgPerson</string></field>
          <field  name="profileLDAPClasses"><string>top,organizationalPerson</string></field>
          <field  name="groupLDAPClasses"><string>top,organizationalUnit</string></field>
          <field  name="membershipTypeLDAPClasses"><string>top,organizationalRole</string></field>
          <field  name="membershipLDAPClasses"><string>top,groupOfNames</string></field>
 
          <field  name="baseURL"><string>dc=my-domain,dc=com</string></field>
          <field  name="groupsURL"><string>ou=groups,dc=my-domain,dc=com</string></field>
          <field  name="membershipTypeURL"><string>ou=memberships,dc=my-domain,dc=com</string></field>
          <field  name="userURL"><string>ou=users,dc=my-domain,dc=com</string></field>
          <field  name="profileURL"><string>ou=profiles,dc=my-domain,dc=com</string></field>
 
          <field  name="userUsernameAttr"><string>uid</string></field>
          <field  name="userPassword"><string>userPassword</string></field>
          <field  name="userFirstNameAttr"><string>givenName</string></field>
          <field  name="userLastNameAttr"><string>sn</string></field>
          <field  name="userDisplayNameAttr"><string>displayName</string></field>
          <field  name="userMailAttr"><string>mail</string></field>
          <field  name="userObjectClassFilter"><string>objectClass=person</string></field>
 
          <field  name="membershipTypeMemberValue"><string>member</string></field>
          <field  name="membershipTypeRoleNameAttr"><string>cn</string></field>
          <field  name="membershipTypeNameAttr"><string>cn</string></field>
          <field  name="membershipTypeObjectClassFilter"><string>objectClass=organizationalRole</string></field>
          <field  name="membershiptypeObjectClass"><string>organizationalRole</string></field>
 
          <field  name="groupObjectClass"><string>organizationalUnit</string></field>
          <field  name="groupObjectClassFilter"><string>objectClass=organizationalUnit</string></field>
 
          <field  name="membershipObjectClass"><string>groupOfNames</string></field>
          <field  name="membershipObjectClassFilter"><string>objectClass=groupOfNames</string></field>
 
          <field  name="ldapCreatedTimeStampAttr"><string>createdTimeStamp</string></field>
          <field  name="ldapModifiedTimeStampAttr"><string>modifiedTimeStamp</string></field>
          <field  name="ldapDescriptionAttr"><string>description</string></field>
        </object>
      </object-param>
    </init-params>     
  </component>  
 
  <external-component-plugins>
    <target-component>org.exoplatform.services.database.HibernateService</target-component>
    <component-plugin> 
      <name>add.hibernate.mapping</name>
      <set-method>addPlugin</set-method>
      <type>org.exoplatform.services.database.impl.AddHibernateMappingPlugin</type>
      <init-params>
        <values-param>
          <name>hibernate.mapping</name>          
          <value>org/exoplatform/services/organization/impl/UserProfileData.hbm.xml</value>
        </values-param>
      </init-params>
    </component-plugin>
   </external-component-plugins>
 
  <!-- for ldap clean database 
  <external-component-plugins>
    <target-component>org.exoplatform.services.ldap.LDAPService</target-component>
    <component-plugin> 
      <name>delete.object</name>
      <set-method>addDeleteObject</set-method>
      <type>org.exoplatform.services.ldap.DeleteObjectCommand</type>
      <init-params>
        <values-param>
          <name>objects.to.delete</name>
          <value>cn=demo,ou=users,ou=portal,dc=exoplatform,dc=org</value>
          <value>cn=test,ou=users,ou=portal,dc=exoplatform,dc=org</value>
          <value>cn=Benj,ou=users,ou=portal,dc=exoplatform,dc=org</value>
          <value>cn=tuan,ou=users,ou=portal,dc=exoplatform,dc=org</value>
        </values-param>
      </init-params>
    </component-plugin>
  </external-component-plugins>
  -->
</configuration>