La requête Active Directory/LDAP, trouver des utilisateurs dans imbriquée à l'unité d'organisation
Je suis de la configuration de l'authentification LDAP dans TeamCity 7.1.2 dans un domaine Windows (Active Directory).
Fondamentalement, il fonctionne (je peux me connecter avec mon nom de domaine de l'utilisateur!), mais chaque utilisateur dans l'ensemble de l'entreprise peuvent se connecter.
--> Maintenant, je vais essayer d'en restreindre l'accès pour les développeurs seulement.
J'ai trouvé cet exemple dans le TeamCity docs:
# filtering only users with specified name and belonging to LDAP group "Group1" with DN "CN=Group1,CN=Users,DC=example,DC=com"
teamcity.users.login.filter=(&(sAMAccountName=$capturedLogin$)(memberOf=CN=Group1,CN=Users,DC=example,DC=com))
Alors j'ai juste besoin de remplacer CN=Group1,CN=Users,DC=example,DC=com
avec le groupe LDAP où mon utilisateur.
Mais l'interrogation LDAP est complètement nouveau pour moi, donc je ne suis pas en mesure de trouver la bonne syntaxe.
Mon utilisateur est ici:
C'est donc:
CompanyName.de/CompanyName/IT/Entwickler/
"CompanyName", "IL" et "Entwickler" sont des unités d'organisation.
Je comprends que la syntaxe sera:
OU=Entwickler,OU=IT,OU=CompanyName,DC=CompanyName,DC=de
Quand je l'ai mis dans TeamCity du fichier de config, je ne peux pas me connecter et TeamCity écrit dans son journal de fichiers:
De recherche dans le LDAP: base= "DC=nom de la Société,DC=fr', filter='(&(sAMAccountName=MyUser)(memberOf=OU=Entwickler,OU=IT,OU=CompanyName,DC=CompanyName,DC=de))', étendue=2, attributes=[sAMAccountName, distinguishedName] a entraîné une erreur
et:
Connexion de l'utilisateur "MyUser" a échoué: javax.de sécurité.auth.connexion.LoginException: [LDAP: code d'erreur 32 - 0000208D: NameErr: DSID-031001CD, problème 2001 (NO_OBJECT), de données 0, meilleur match de:
"DC=nom de la Société,DC=fr'
Ce que je fais mal?
REMARQUE:
Il pourrait être possible que ma requête est correcte, et c'est une question de TeamCity.
(la version que je suis en utilisant ne ont certains questions concernant LDAP, mais ils obtiennent d'autres messages d'erreur que je fais)
Peut-être que je vais poster ceci sur TeamCity est issue tracker, mais avant je voulais être sûr que l'erreur ne se produit pas parce que j'ai la requête LDAP mal, d'où la question ici.
OriginalL'auteur Christian Specht | 2012-11-29
Vous devez vous connecter pour publier un commentaire.
memberOf est à la recherche d'un groupe, pas une unité d'organisation. Vous devez créer un groupe de restreindre l'accès, ajouter le cas des utilisateurs à ce groupe, et de spécifier le groupe du nom unique dans le filtre. Vous devriez noter que les simples " memberOf={DN}' filtre ne prend pas en compte imbriqués l'appartenance à un groupe.
Edit:
Si vous voulez vraiment de le restreindre à des utilisateurs dans l'unité d'organisation, puis vous avez besoin de changer le DN de base de la recherche à l'UO, et de prendre les memberOf paramètre à la recherche.
Une requête LDAP a trois éléments de base: la base de la recherche, le filtre de recherche, et la portée. Dans votre erreur, je vois "Recherche dans le LDAP: base=" DC=nom de la Société,DC=fr'". Je ne sais pas d'où ça vient, que vous pouvez définir la base sur une autre ligne, peut-être teamcity.les utilisateurs.connexion.la base?
J' a définir la base dans le fichier de config, mais ni
CN=Users,DC=CompanyName,DC=de
niCN=Users,DC=CompanyName,DC=de
travaillé. J'ai donc essayé votre deuxième solution (définir le DN de base à l'unité d'organisation) et qui a fait un travail!c'est
teamcity.users.base=OU=IT,OU=CompanyName,DC=CompanyName,DC=de
. Maintenant, si un modérateur serait de convertir votre réponse à un commentaire...OriginalL'auteur Sean Hall