Przeprowadzamy migrację z WAS do JBoss EAP 6.4.0.GA (AS 7.5.0) i nie mogę skonfigurować Active Directory do chroń naszą aplikację internetową. Moja konfiguracja została zainspirowana przez http://middlewaremagic.com/jboss/?p=378, ale nie działa dla wersji 7.5.0.Jak skonfigurować Active Directory dla JBoss EAP 6.4.0.GA (AS 7.5.0)
Oto fragment zabezpieczeń domeny w standalone.xml
<security-domain name="ad_security_domain" 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://10.175.35.60:389"/>
<module-option name="bindDN" value="CN=AD Reader,OU=Users,OU=XXX Group,DC=ferradev,DC=fe"/>
<module-option name="bindCredential" value="secret"/>
<module-option name="baseCtxDN" value="OU=Users,OU=XXX Company,OU=XXX Group,DC=ferradev,DC=fe"/>
<module-option name="baseFilter" value="(sAMAccountName={0})"/>
<module-option name="rolesCtxDN" value="OU=Groups,OU=XXX Company,OU=XXX Group,DC=ferradev,DC=fe"/>
<module-option name="roleFilter" value="(member={1})"/>
<module-option name="roleAttributeID" value="memberOf"/>
<module-option name="roleAttributeIsDN" value="true"/>
<module-option name="roleNameAttributeID" value="cn"/>
<module-option name="allowEmptyPasswords" value="false"/>
<module-option name="Context.REFERRAL" value="follow"/>
<module-option name="throwValidateError" value="true"/>
<module-option name="searchScope" value="SUBTREE_SCOPE"/>
</login-module>
<login-module code="org.jboss.security.auth.spi.RoleMappingLoginModule" flag="optional">
<module-option name="rolesProperties" value="${jboss.server.config.dir}/fop-roles.properties"/>
</login-module>
</authentication>
</security-domain>
Mam ten kod w moim jboss-web.xml
<?xml version="1.0"?>
<jboss-web>
<security-domain>ad_security_domain</security-domain>
</jboss-web>
w katalogu konfiguracyjnym (gdzie plik standalone.xml) Mam plik właściwości fop-roles.properties
APP_GG_FOP_DEV_ADMINS=Administrators
Oto fragment mojego web.xml
<security-constraint>
<web-resource-collection>
<web-resource-name>Admin Resources</web-resource-name>
<url-pattern>/configuration/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Administrators</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
....
<security-role>
<description>Administrators Role</description>
<role-name>Administrators</role-name>
</security-role>
Bellow są screeny z naszej struktury Active Directory:
Po udanej deploymnet aplikacji internetowej do JBoss strona logowania jest pokazany ale po napełnieniu poświadczenia zawsze dostaje błąd:
TRACE [org.jboss.security] (ServerService puli wątków - 100) PBOX000354: Ustawianie ról bezpieczeństwa ThreadLocal: null
Dziękuję bardzo za odpowiedź, próbowałem obie opcje, ale nadal ten sam błąd. Wygląda więc na to, że problemem są również opcje modułów dla LDAP. Czy byłbyś tak dobry, by to sprawdzić i mi pomóc? – jGuru