2017-04-05 1 views
0

Ich habe ein Problem in Bezug auf JBoss mit der Authentifizierung von Benutzern in zwei verschiedenen Active Directory-Domänen aufgetreten. Ich möchte JBoss konfigurieren, um Benutzer über LDAP authentifizieren zu können, abhängig davon, wo sein Konto erstellt wurde (Domäne A oder B). Hier ist ein Teil meiner Konfiguration für Domäne A. Wie kann ich das anpassen, also wird JBoss zuerst prüfen, ob der Benutzer in Domäne A ist und wenn nicht - in Domäne B und ihn authentifizieren, sobald er ihn gefunden hat? Vertrauen zwischen Domänen ist richtig eingestellt. Informationen zu Benutzern - sie werden in verschiedenen Organisationseinheiten erstellt. JBoss-Version 6.4 wird im Domänenmodus ausgeführt. Ich habe eine zweite Konfiguration für Domäne B, die funktioniert, ok, ich muss es nur irgendwie zur aktuellen Konfiguration hinzufügen, damit es keine Fehler und Probleme gibt, wenn es darum geht, Benutzer zu authentifizieren.JBoss - verbinden und authentifizieren Benutzer in zwei Domänen

<security-domain name="SECDOMAIN_1" cache-type="default"> 
<authentication> 
<login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required"> 
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/> 
<module-option name="java.naming.provider.url" value="ldap_addres:port"/> 
<module-option name="bindDN" value="ad_user_used_to_authenticate_in_domain"/> 
<module-option name="bindCredential" value="password_for_user"/> 
<module-option name="baseCtxDN" value="dc=xxx,dc=yyy"/> 
<module-option name="baseFilter" value="(sAMAccountName={0})"/> 
<module-option name="rolesCtxDN" value="dc=xxx,dc=yyy"/> 
<module-option name="roleFilter" value="(member={1})"/> 
<module-option name="roleAttributeID" value="memberOf"/> 
<module-option name="roleAttributeIsDN" value="true"/> 
<module-option name="roleNameAttributeID" value="ou"/> 
<module-option name="allowEmptyPasswords" value="false"/> 
<module-option name="throwValidateError" value="true"/> 
<module-option name="searchScope" value="SUBTREE_SCOPE"/> 
</login-module> 
</authentication> 
</security-domain> 

Antwort

1

Ich habe es geschafft, die Lösung für dieses Problem zu finden. Ich musste lediglich ein weiteres Login-Modul innerhalb der Sicherheitsdomäne erstellen und die Anforderungen in optional ändern. Es sollte so aussehen:

<security-domain name="SECDOMAIN_1" cache-type="default"> 
<authentication> 
<login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="optional"> 
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/> 
<module-option name="java.naming.provider.url" value="ldap_addres:port"/> 
<module-option name="bindDN" value="ad_user_used_to_authenticate_in_domain"/> 
<module-option name="bindCredential" value="password_for_user"/> 
<module-option name="baseCtxDN" value="dc=xxx,dc=yyy"/> 
<module-option name="baseFilter" value="(sAMAccountName={0})"/> 
<module-option name="rolesCtxDN" value="dc=xxx,dc=yyy"/> 
<module-option name="roleFilter" value="(member={1})"/> 
<module-option name="roleAttributeID" value="memberOf"/> 
<module-option name="roleAttributeIsDN" value="true"/> 
<module-option name="roleNameAttributeID" value="ou"/> 
<module-option name="allowEmptyPasswords" value="false"/> 
<module-option name="throwValidateError" value="true"/> 
<module-option name="searchScope" value="SUBTREE_SCOPE"/> 
</login-module> 
<login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="optional"> 
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/> 
<module-option name="java.naming.provider.url" value="second_ldap_addres:port"/> 
<module-option name="bindDN" value="second_ad_user_used_to_authenticate_in_domain"/> 
<module-option name="bindCredential" value="second_password_for_user"/> 
<module-option name="baseCtxDN" value="dc=zzz,dc=www"/> 
<module-option name="baseFilter" value="(sAMAccountName={0})"/> 
<module-option name="rolesCtxDN" value="dc=zzz,dc=www"/> 
<module-option name="roleFilter" value="(member={1})"/> 
<module-option name="roleAttributeID" value="memberOf"/> 
<module-option name="roleAttributeIsDN" value="true"/> 
<module-option name="roleNameAttributeID" value="ou"/> 
<module-option name="allowEmptyPasswords" value="false"/> 
<module-option name="throwValidateError" value="true"/> 
<module-option name="searchScope" value="SUBTREE_SCOPE"/> 
</login-module> 
</authentication> 
</security-domain> 
Verwandte Themen