2013-01-18 6 views
1

Je dois faire un Liferay-hook, lorsque l'utilisateur se connecte, vérifier LDAP pour le groupe.Récupérer le groupe de LDAP dans liferay

Si le groupe est "users", ne faites rien de particulier, mais si vous n'avez pas de groupe LDAP, je dois rediriger vers une autre page du portail Liferay.

Je sais comment faire la redirection, mais mon problème est: Comment puis-je connaître le groupe LDAP de l'utilisateur?

En fait, je n'importer le groupe d'utilisateurs dans Liferay configuration LDAP comme ceci:

(&([email protected][email protected])(memberof=cn=usersr,ou=groups,o=users.com)) 

Toute idée?
Merci

+0

normalement, les groupes LDAP sont synchronisés avec Liferay UserGroups, vous pouvez donc utiliser l'API Liferay pour vérifier les groupes d'utilisateurs de l'utilisateur. Y a-t-il une raison de scanner spécifiquement les groupes LDAP? – yannicuLar

Répondre

0

Le problème que vous aurez est que les répertoires LDAP sont quelque peu incohérents sur le stockage de l'appartenance à un groupe sur l'utilisateur. EDirectory stocke l'appartenance au groupe sur l'utilisateur (groupMembership dans LDAP)

Active Directory dans les versions ultérieures (2008 je pense) stocke memberOf sur l'utilisateur, en quelque sorte. Il n'est pas stocké en tant que valeur statique dans AD, mais peut être lu et calculé.

En général, l'approche LDAP a été d'interroger pour:

(&(objectClass=group)(member=cn=MyUser,ou=MyOu,dc=com)) 

C'est, allez me trouver tous les groupes, pour lesquels cet utilisateur est membre, puis vérifiez si votre groupe témoin est retourné. Ce n'est pas vraiment efficace. Mais va travailler.

Questions connexes