Gruppenmitgliedschaft in (AD) LDAP Realm
-
10-10-2019 - |
Frage
Ich verwende den JAAS Rahmen für die Authentifizierung und Autorisierung Prozess in einer Java EE-Enterprise-Anwendung. Ich benutze als Glassfish-Anwendungsserver. Mein Reich Konfiguration aussieht wie:
<auth-realm name="ads-realm" classname="com.sun.enterprise.security.auth.realm.ldap.LDAPRealm">
<property name="jaas-context" value="ldapRealm" />
<property name="base-dn" value="CN=Users,DC=company,DC=intern" />
<property name="directory" value="ldap://ad.company.intern:389" />
<property name="search-filter" value="(&(objectClass=user)(sAMAccountName=%s))" />
<property name="search-bind-password" value="****" />
<property name="search-bind-dn" value="ldapSvc@company.intern" />
</auth-realm>
Diese Konfiguration funktioniert gut in meiner Umgebung. Siehe folgende Log-Einträge:
FEIN: JAAS login complete.
FEIN: JAAS authentication committed.
FEIN: Password login succeeded for xyz
, aber ich erhalte keine LDAP-Gruppenmitgliedschaft (en) aus der Liste meines Active Directory
FEIN: LDAP: Group memberships found:
FEIN: LDAP: login succeeded for: xyz
Welche Konfiguration / entry / Mapping habe ich zu tun, um eine Gruppenmitgliedschaft von AD zu erhalten?
Sicherlich kann ich die Eigenschaft hinzufügen
<property name="assign-groups" value="Users" />
Zu meiner Konfiguration Glassfish, aber das ist nicht genau das, was ich will.
Lösung
Sie müssen diese zusätzliche Eigenschaft hinzufügen:
group-search-filter
Suchfilter an Gruppenmitgliedschaften für den Benutzer zu finden. Der Standardwert ist unique =% d (% d Expandiert zu dem Benutzer Element DN). Im Fall von Active Directory dieses Mitglied sein sollte =% d