掲示板

Filtrer l'authentification LDAP

10年前 に Edouard DELAUNAY によって更新されました。

Filtrer l'authentification LDAP

New Member 投稿: 7 参加年月日: 13/08/22 最新の投稿
Hello,

J'ai une petite question qui me titille depuis quelques jours.
Voilà, j'ai paramétré Liferay (version 6.1.1) via le portal-ext.properties pour qu'il aille chercher les utilisateurs d'un LDAP. Sans les importer tous, chaque utilisateurs étant créé au sein de ma base Liferay lors de sa première connexion.

Tout ça fonctionne à merveille ! Mes utilisateurs sont bien créés, avec le bon groupe par défaut, les bons droits, etc.

Voici ma question : est-il possible de paramétrer Liferay pour ne permettre l'authentification que de certains utilisateurs ? Car actuellement tout un chacun au sein de mon LDAP peut se connecter sur mon portail, ce qui n'est pas le but recherché.

J'ai cherché à droite à gauche mais je n'ai rien trouvé sur ce sujet, mais peut-être est-ce trop évident emoticon

Merci d'avance
thumbnail
10年前 に Huage Chen によって更新されました。

RE: Filtrer l'authentification LDAP

Junior Member 投稿: 33 参加年月日: 13/03/18 最新の投稿
Vous pouvez essayer de définir une règle d'import dans le import search filter.
10年前 に Edouard DELAUNAY によって更新されました。

RE: Filtrer l'authentification LDAP

New Member 投稿: 7 参加年月日: 13/08/22 最新の投稿
Bonjour Chen,

J'avais justement laissé tomber l'import des utilisateurs avec un filtre LDAP adapté car même si l'importation fonctionne très bien (mes utilisateurs sont bien créés dans la base Liferay et je peux les voir grâce au compte omniadmin), l'authentification en revanche n'est pas possible, à cause d'un soucis avec l'encryption des mots de passe LDAP.

J'utilise donc un fichier portal-ext comme ci-dessous :

 ldap.auth.enabled=true
ldap.auth.required=false
ldap.auth.method=bind

ldap.import.enabled=false
ldap.import.on.startup=false
...
ldap.auth.search.filter.0=(uid=@screen_name@)



Mes utilisateurs sont créés dans Liferay seulement lorsqu'ils s'authentifient sur le portail. Je ne sais pas si cette solution est la meilleure qui soit mais je n'ai pas réussi autrement.

@Olivier, mon problème n'est pas lié à des comptes utilisateurs inexistants dans l'annuaire LDAP. Au contraire j'aimerai interdire l'accès à Liferay à des utilisateurs présents dans le LDAP.

Merci tout de même pour vos réponses,
10年前 に Olivier Bonnet-Torrès によって更新されました。

RE: Filtrer l'authentification LDAP

Regular Member 投稿: 162 参加年月日: 08/07/11 最新の投稿
OK, donc maintenant, ton problème se trouve au niveau de la définition du filtre et surtout de la méthode d'authentification.
De mémoire, Liferay utilise le mot de passe contenu dans le champ "userPassword", qu'il considère crypté.
Voici un exemple de mapping (vu depuis la base de données, table "PortalPreferences"):
<preference>
	<name>ldap.user.mappings.15805</name>
	<value>screenName=sAMAccountName[$NEW_LINE$]password=userPassword[$NEW_LINE$]emailAddress=userprincipalname[$NEW_LINE$]fullName=cn[$NEW_LINE$]firstName=givenName[$NEW_LINE$]middleName=middleName[$NEW_LINE$]lastName=sn[$NEW_LINE$]group=memberOf[$NEW_LINE$]</value>
</preference>

Pour aller plus loin (si le problème persiste), tu peux aussi explorer la propriété suivante du portal(-ext).properties:
# Password Update on OpenLDAP
ldap.auth.password.encryption.algorithm=SHA

Enjoy!
10年前 に Edouard DELAUNAY によって更新されました。

RE: Filtrer l'authentification LDAP

New Member 投稿: 7 参加年月日: 13/08/22 最新の投稿
Oh oh oh emoticon

Merci !

J'explicite mon cas : je considérais que le filtre : ldap.import.user.search.filter était useless lorsque la propriété ldap.import.enabled était configuré à false.

Ce qui n'est manifestement pas le cas, je viens donc de résoudre mon soucis emoticon

ci dessous un extrait du portal-ext (si jamais certains ont le même problème) :


#
# paramètres Liferay - import LDAP
#
ldap.auth.enabled=true
ldap.auth.required=true
ldap.auth.method=bind

[b]ldap.import.enabled=false
ldap.import.on.startup=false[/b]
ldap.export.enabled=false
ldap.export.group.enabled=false
...
#
# Autoriser import SSO (login numérique allow)
#
users.screen.name.validator=com.liferay.portal.security.auth.LiberalScreenNameValidator
users.screen.name.allow.numeric=true
 
#
# Mapping des utilisateurs importés depuis le LDAP 
#
ldap.user.mappings.0=screenName=uid\npassword=userPassword\nemailAddress=mail\nfirstName=givenName\nlastName=sn\njobTitle=title
 
#
# Password policy du LDAP utilisé dans Liferay
#
ldap.password.policy.enabled=true
 
#
# Filtre d'authentification
#
ldap.auth.search.filter.0=(uid=@screen_name@)

#
# Filtre d'import
#
[b]ldap.import.user.search.filter[/b].0=(|(uid=xxxxxxxxx)(uid=xxxxxxxx)(uid=xxxxxxxxx)(uid=xxxxxxxxx).....)


#
# Mapping import groupes - custom mapping (normalement pas utilisé mais indispensable -- source liferay)
#

ldap.import.group.search.filter.0=(objectClass=groupOfUniqueNames)
ldap.group.mappings.0=groupName=cn\ndescription=description\nuser=uniqueMember
ldap.user.custom.mappings.0=
ldap.contact.mappings.0=
ldap.contact.custom.mappings.0=


@Olivier : J'ai justement testé la méthode que tu préconises avec ldap.auth.password.encryption.algorithm, mais cela ne fonctionne pas (apparemment) avec du SSHA lors de l'import des utilisateurs, en tout cas pour la version que j'utilise (pour rappel la 6.1.1).

Merci en tout cas à vous deux pour le temps passé emoticon

Bonne fin de journée !
10年前 に Olivier Bonnet-Torrès によって更新されました。

RE: Filtrer l'authentification LDAP

Regular Member 投稿: 162 参加年月日: 08/07/11 最新の投稿
Pour compléter la réponse de Chen, il est possible de paramétrer plusieurs annuaires LDAP sur un même portail. La sélection de certains utilisateurs pour une authentification particulière se fait grâce aux filtres d'import (utilisateurs et groupes). Si certains utilisateurs ne sont déclarés dans aucun annuaire, il est toujours possible de les créer "manuellement" via le panneau de contrôle, section "Utilisateurs et Organisations".
9年前 に mohamed ali azzouz によって更新されました。

RE: Filtrer l'authentification LDAP

New Member 投稿: 1 参加年月日: 14/04/23 最新の投稿
bonjour Edouard,
est ce que vous pouvez me donner les etapes a suivre pour configurer l'authentification liferay de puis le serveur openldap
si ce possible les etapes coté openldap et coté liferay (la version de liferay6.2)
9年前 に Edouard DELAUNAY によって更新されました。

RE: Filtrer l'authentification LDAP

New Member 投稿: 7 参加年月日: 13/08/22 最新の投稿
Bonjour Mohamed,

Oulah c'est loin... J'ai depuis laissé de côté mon projet d'utiliser Liferay, et donc je ne m'y suis pas plongé depuis pas mal de temps.

Pour rappelle j'avais utilisé la version 6.1.1, il peut y avoir des différences avec ta version.

Côté openLdap j'imagine qu'il n'y a rien de spécifique à faire.

Pour Liferay, j'avais utilisé pour le configurer le fichier portal-ext.properties tel que :

#
# paramètres Liferay - import LDAP
#
ldap.auth.enabled=true
ldap.auth.required=true
ldap.auth.method=bind

ldap.import.enabled=false
ldap.import.on.startup=false
#ldap.import.interval=10
ldap.export.enabled=false
ldap.export.group.enabled=false
#ldap.import.user.password.enabled=false
#ldap.import.method=user

#
# Valeurs connexion serveur LDAP
#
ldap.base.provider.url.0=ldap://url:port
ldap.base.dn.0= dn de base de vos users
ldap.security.principal.0=userLdap
ldap.security.credentials.0=mdpLdap

#
# Encryption MDP LDAP
#

#passwords.encryption.algorithm.legacy=SHA
#ldap.auth.password.encryption.algorithm=SHA
#ldap.auth.password.encryption.algorithm.types=SSHA,SHA


#
# Autoriser import SSO (login numérique allow)
#
users.screen.name.validator=com.liferay.portal.security.auth.LiberalScreenNameValidator
#users.screen.name.always.autogenerate=true -&gt; fonctionne mais login = nom.prenom.x
users.screen.name.allow.numeric=true


 
#
# Mapping des utilisateurs importés depuis le LDAP 
#
ldap.user.mappings.0=champLiferay1=champLdap1\nchampLiferay2=champLdap2\n.............
 
#
# Password policy du LDAP utilisé dans Liferay
#
ldap.password.policy.enabled=true
 
#
# Filtre d'authentification 
#
ldap.auth.search.filter.0=(uid=@screen_name@) #filtre propre à votre organisation

#
# Filtre d'import
#
ldap.import.user.search.filter.0=                          #filtre non-obligatoire


#
# Mapping import groupes - custom mapping (normalement pas utilisé mais indispensable -- source liferay)
#

ldap.import.group.search.filter.0=(objectClass=groupOfUniqueNames)
ldap.group.mappings.0=champLiferay1=champLdap1\nchampLiferay2=champLdap2\n.............
ldap.user.custom.mappings.0=                                  #filtre non-obligatoire
ldap.contact.mappings.0=                                          #filtre non-obligatoire
ldap.contact.custom.mappings.0=                             #filtre non-obligatoire

live.users.enabled=true


Le fichier ci-dessus est celui que j'ai utilisé lors de mon POC de Liferay, il peut y avoir des deltas pour la configuration avec OpenLdap (j'utilise DSEE), ...

J'espère que cela pourra t'aider tout de même. Bonne journée
6年前 に safa safa によって更新されました。

RE: Filtrer l'authentification LDAP

New Member 投稿: 6 参加年月日: 16/10/06 最新の投稿
Edouard DELAUNAY:
Hello,

J'ai une petite question qui me titille depuis quelques jours.
Voilà, j'ai paramétré Liferay (version 6.1.1) via le portal-ext.properties pour qu'il aille chercher les utilisateurs d'un LDAP. Sans les importer tous, chaque utilisateurs étant créé au sein de ma base Liferay lors de sa première connexion.

Tout ça fonctionne à merveille ! Mes utilisateurs sont bien créés, avec le bon groupe par défaut, les bons droits, etc.

Voici ma question : est-il possible de paramétrer Liferay pour ne permettre l'authentification que de certains utilisateurs ? Car actuellement tout un chacun au sein de mon LDAP peut se connecter sur mon portail, ce qui n'est pas le but recherché.

J'ai cherché à droite à gauche mais je n'ai rien trouvé sur ce sujet, mais peut-être est-ce trop évident emoticon

Merci d'avance



bonjour,
svp je réussit d'importer les users LDAP mais il y a quelques utilisateurs ne peuvent pas accéder à l'application malgré que le login et Mdp sont correcte .
svp pouvez vous partager votre fichier portal-ext.properties
je pense que l'erreur se trouve dans ce fichier
Merci