簡體   English   中英

如何在JBOSS EAP 6.3的一個安全域中配置多個登錄模塊?

[英]How to configure multiple Login modules in one security domain in JBOSS EAP 6.3?

我有兩組用戶-雇員和成員,雇員在LDAP服務器中,成員在屬性文件中。 我需要將它們都配置在一個安全域中,這意味着我需要從不同的登錄模塊中獲取身份驗證-LdapExtLoginModule的員工以及UsersRoles登錄模塊的成員。 像這樣:

<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="XQtU@1lc"/>
            <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包/類)。

如果足夠滿足您的需求,請使用LdapLoginModule而不是LdapExtLoginModule。 該LoginModule支持密碼堆疊。

但是,從您的要求來看,我認為密碼堆棧不是您要尋找的...

如果為密碼堆疊配置的先前模塊已對用戶進行了身份驗證,則所有其他堆疊模塊將認為用戶已通過身份驗證,並且僅嘗試為授權步驟提供一組角色。

好像用戶將是雇員還是成員? 如果是這樣,請使用“ sufficient”作為LoginModule的“ flag”屬性

足夠:不需要成功登錄模塊。 如果確實成功,則控制權立即返回到應用程序。 如果失敗,則身份驗證將繼續沿登錄堆棧進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM