Migriamo da WAS a JBoss EAP 6.4.0.GA (AS 7.5.0) e non riesco a configurare Active Directory per proteggere la nostra applicazione web. La mia configurazione è stata ispirata da http://middlewaremagic.com/jboss/?p=378 ma non funziona per 7.5.0.Come configurare Active Directory per JBoss EAP 6.4.0.GA (AS 7.5.0)
Ecco il frammento di dominio Sicurezza in 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>
Ho questo codice nel mio jboss-web.xml
<?xml version="1.0"?>
<jboss-web>
<security-domain>ad_security_domain</security-domain>
</jboss-web>
Nella directory di configurazione (dove il file standalone.xml è) Ho il file delle proprietà fop-roles.properties
APP_GG_FOP_DEV_ADMINS=Administrators
Ecco frammento della mia 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 sono le schermate della struttura del nostro Active Directory:
Dopo deploymnet con successo l'applicazione web per JBoss viene visualizzata la pagina di login, ma dopo aver riempito le credenziali ho sempre ottenuto l'errore:
TRACE [org.jboss.security] (ServerService pool di thread - 100 PBOX000354: Impostazione dei ruoli di sicurezza ThreadLocal: null
Grazie mille per la risposta, ho provato entrambe le opzioni ma ancora lo stesso errore. Quindi sembra che il problema sia anche nelle opzioni del modulo per LDAP. Saresti così gentile da ispezionarlo e aiutarmi, per favore? – jGuru