2017-04-05 6 views
0

2つの異なるActive Directoryドメインでユーザーを認証する際にJBossに関する問題が発生しました。私は、自分のアカウントが作成された場所(ドメインAまたはB)に応じてLDAPを介してユーザーを認証できるようにJBossを構成したいと考えています。ここではドメインAの設定の一部を紹介します。どのように私はそれを適応させることができるので、JBossはドメインBにユーザがいるかどうかを確認し、ドメイン間の信頼関係が正しく設定されています。ユーザーに関する情報 - 異なるOUで作成されます。 JBossバージョンはドメインモードで6.4で動作します。私はOKを働いているドメインBのための2番目の設定を持っている、私はちょうど現在の設定に何とかそれを追加する必要がありますので、ユーザー認証に関してはエラーと問題はありません。JBoss - 2つのドメインのユーザーを接続して認証します

<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> 

答えて

1

私はこの問題の解決策を見つけることができました。私がしなければならなかったのは、セキュリティドメイン内に別のログインモジュールを作成し、要件をオプションに変更することでした。次のようになります。

<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> 
関連する問題