我有兩組用戶 - 員工和成員,員工在LDAP服務器中,成員在屬性文件中。我需要在一個安全域中配置它們,這意味着我需要從不同的登錄模塊(來自LdapExtLoginModule的員工)以及UsersRoles登錄模塊的成員獲得身份驗證。事情是這樣的:如何在JBOSS EAP 6.3的一個安全域中配置多個登錄模塊?
<security-domain name="EmpMem" cache-type="default">
<authentication>
<login-module code="UsersRoles" flag="required">
<module-option name="password-stacking" value="useFirstPass"/>
<module-option name="usersProperties" value="app-users.properties"/>
<module-option name="rolesProperties" value="app-roles.properties"/>
</login-module>
<login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required">
<module-option name="password-stacking" value="useFirstPass"/>
<module-option name="java.naming.provider.url" value="ldap://ha-adds-global.xxx.com:3268"/>
<module-option name="bindDN" value="CN=prodjbsvc,OU=ServiceAccounts,OU=NOPOL,dc=eagle,dc=xxx,dc=com"/>
<module-option name="bindCredential" value="[email protected]"/>
<module-option name="baseCtxDN" value="dc=eagle,dc=xxx,dc=com"/>
<module-option name="baseFilter" value="(sAMAccountName={0})"/>
<module-option name="rolesCtxDN" value="ou=COSAs,dc=eagle,dc=xxx,dc=com"/>
<module-option name="roleFilter" value="(sAMAccountName={0})"/>
<module-option name="roleAttributeID" value="memberOf"/>
<module-option name="roleAttributeIsDN" value="true"/>
<module-option name="roleNameAttributeID" value="cn"/>
<module-option name="roleRecursion" value="-1"/>
<module-option name="searchScope" value="SUBTREE_SCOPE"/>
<module-option name="allowEmptyPasswords" value="false"/>
<module-option name="java.naming.referral" value="follow"/>
</login-module>
</authentication>
</security-domain>
我知道有一個叫密碼堆疊從而可以鏈接多個登錄模塊一起登錄模塊,但看起來像LdapExtLoginModule不支持?請建議一種方法來完成這一點。
我的要求: 當用戶是員工,他會從LDAP服務器的認證,並應能夠來訪問僱員資源(java包/班)而已,而當用戶是成員,他會從性能驗證的文件並且應該只能訪問成員資源(Java包/類)。
我需要根據需要使用LdapExtLoginModule。用戶有時可以是員工和會員(將來的要求)。 –
(可能也是)簡單的解決方案,以您的未來要求:如果一個員工是一個成員也存儲在與員工的LDAP成員角色...所以屬性文件只包含「純」成員......如果這是一個沒有 - 去那裏總有可能編寫你自己的LoginModule實現 – tom
我不認爲我可以做到這一點。但是,您能否提出一個關於如何爲我的需求構建自定義登錄模塊的想法? –