...
Pour
...
faire
...
fonctionner
...
l'authentification
...
LDAP,
...
vous
...
devez
...
d'abord
...
installer
...
le
...
bundle
...
LDAP
...
pour
...
pouvoir
...
se
...
connecter
...
au
...
serveur.
...
Dans
...
le
...
fonctionnement,
...
on
...
s'authentifie
...
via
...
les
...
champs
...
Nom
...
d'utilisateur
...
et
...
Mot
...
de
...
passe
...
traditionnels
...
de
...
Sakai
...
OAE.
...
Le
...
couple
...
login/password
...
sera
...
d'abord
...
ve?rifie?
...
par
...
l'authentification
...
LDAP
...
et
...
en
...
cas
...
d'e?chec,
...
c'est
...
le
...
syste?me
...
d'authentification
...
interne
...
qui
...
est
...
tente?.
...
Connexion LDAP
1.
...
Compilation
...
et
...
installation
...
de
...
LDAP
...
Connection
...
Bundle
...
Dans
...
le
...
re?pertoire
...
des
...
sources
...
de
...
Nakamura,
...
acce?dez
...
aux
...
sources
...
du
...
bundle
...
:
...
cd
...
contrib/ldap
...
Compilez
...
le
...
bundle
...
a?
...
l’aide de
...
:
...
mvn
...
clean
...
install
...
Si
...
vous
...
e?tes
...
en
...
production,
...
vous
...
devrez
...
probablement
...
ajouter
...
ce
...
bundle
...
dans
...
pom.xml
...
et
...
list.xml.
...
Une
...
fois
...
que
...
le
...
bundle
...
est
...
compile?
...
(c'est
...
un
...
fichier
...
.jar
...
dans
...
contrib/ldap/target),
...
installez
...
le.
...
2.
...
Configuration
...
de
...
LDAP
...
Connection
...
Bundle
...
Il
...
y
...
a
...
plusieurs
...
fac?ons
...
de
...
configurer
...
le
...
bundle.
...
Le
...
plus
...
simple
...
consiste
...
a?
...
utiliser
...
la
...
console
...
web
...
de
...
Sling,
...
a?
...
l'onglet
...
Configuration
...
(URL
...
de
...
type
...
http://example.com/system/console/configMgr
...
)
...
Repe?rez
...
et
...
cliquez
...
sur
...
l’entre?e
...
Sakai
...
Nakamura
...
::
...
LDAP
...
Pooling
...
LDAP
...
Connection
...
Manager
...
Les
...
quatre
...
champs
...
suivants
...
doivent
...
e?tre
...
configure?s
...
:
...
?
...
LDAP
...
Host
...
?
...
LDAP
...
Port
...
Pour
...
plus
...
de
...
de?tails,
...
https://confluence.sakaiproject.org/display/KERNDOC/Configuring+LDAP+Connection+Service
...
Authentification LDAP
1. Compilation et installation de LDAP Authentication Bundle
Dans le re?pertoire des sources de Nakamura, acce?dez aux sources du bundle : cd contrib/ldapauth
Si vous utilisez la version 1.3.0
...
(mais
...
corrige?
...
dans
...
les
...
versions
...
ulte?rieures),
...
vous
...
aurez
...
besoin
...
de
...
corriger
...
les
...
de?pendances
...
dans
...
pom.xml
...
car
...
le
...
bundle
...
user
...
a
...
e?te?
...
divise?
...
en
...
deux
...
:
...
api
...
et
...
impl
...
Chercher
...
:
...
org.sakaiproject.nakamura.user
...
Remplacer
...
par
...
:
...
org.sakaiproject.nakamura.user.api
...
Actuellement
...
(date?
...
du
...
25
...
Juin
...
2012),
...
et
...
sur
...
la
...
version
...
1.3.0,
...
la
...
cre?ation
...
des
...
comptes
...
ne
...
fonctionne
...
pas
...
correctement.
...
Le
...
parame?tre
...
null
...
de
...
la
...
ligne
...
authorizablePostProcessService.process(auth,
...
session,
...
ModificationType.CREATE,
...
null);
...
provoque
...
une
...
exception.
...
L'erreur
...
est
...
aussi
...
pre?sente
...
dans
...
les
...
bundles
...
SAMLAuth,
...
RESTAuth.
...
Mon
...
correctif
...
(temporaire)
...
est
...
le
...
suivant
...
(Te?le?charger)
...
:
| Bloc de code |
|---|
@@ -51,6 +51,7 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.collect.ImmutableMap;
import com.novell.ldap.LDAPAttribute;
import com.novell.ldap.LDAPConnection;
import com.novell.ldap.LDAPEntry;
@@ -315,7 +316,12 @@
boolean created = am.createUser(userId, userId, password, null);
if (created) {
auth = am.findAuthorizable(userId);
- authorizablePostProcessService.process(auth, session,
ModificationType.CREATE, null);
??+
+
+
+
+ );
+ authorizablePostProcessService.process(auth, session,
ModificationType.CREATE, userParam);
Map<String, Object[]> userParam = ImmutableMap.of(
"email", new Object[]{"email@sakai.invalid"},
"firstName", new Object[]{"unknown"},
"lastName", new Object[]{"unknown"}
}
else {
throw new Exception("Unable to create User for " + userId);
|
Compilez
...
le
...
bundle
...
a?
...
l’aide de
...
:
| Bloc de code |
|---|
mvn clean install
|
Si
...
vous
...
e?tes
...
en
...
production,
...
vous
...
devrez
...
probablement
...
ajouter
...
ce
...
bundle
...
dans
...
pom.xml
...
et
...
list.xml.
...
Une
...
fois
...
que
...
le
...
bundle
...
est
...
compile?
...
(c'est
...
un
...
fichier
...
.jar
...
dans
...
contrib/ldapauth/target),
...
installez
...
le.
...
2.
...
Configuration
...
de
...
l'authentification
...
LDAP
...
Via
...
la
...
console
...
web
...
de
...
Sling,
...
a?
...
l'onglet
...
Configuration
...
(URL
...
de
...
type
...
http://example.com/system/console/configMgr)
...
Repe?rez
...
et
...
cliquez
...
sur
...
l’entre?e
...
Sakai
...
Nakamura
...
::
...
LDAP
...
Authentication
...
Plugin
...
Les
...
trois
...
champs
...
suivants
...
doivent
...
e?tre
...
configure?s
...
:
...
?
...
Base
...
DN
...
?
...
User
...
Filter
? Authorization Filter (a? effacer si vous ne l'utilisez pas)
? Create Account for user
Le champ Properties from LDAP est vivement recommande? pour pouvoir mettre a? jour les informations de l'utilisateur a? sa connexion via LDAP, mais surtout en cas de cre?ation de compte (sans quoi, il aura comme nom et pre?nom “unknown” et une adresse mail invalide).
Ajoutez les trois entre?es suivantes en adaptant la premie?re valeur de chaque ligne qui correspond au champ sur votre annuaire LDAP (“LdapField”:“SakaiField”)
| Bloc de code |
|---|
"givenName":"firstName"
"sn":"lastName"
"mail":"email"
|
Pour plus de de?tails, https://confluence.sakaiproject.org/display/KERNDOC/Configuring+LDAP+Authentication
Filtrage des noms d'utilisateurs
Il peut y avoir des utilisateurs qui ont besoin d'acce?der a? Sakai OAE mais qui ne seront pas sur le serveur LDAP ou simplement de pouvoir les authentifier sans interroger le serveur LDAP. C'est le cas de l'utilisateur admin, de?fini par de?faut.
La fonction de filtrage se fait via Sakai Nakamura :: LDAP Login Module Plugin de l'onglet Configuration de votre console Sling.