2

我已经为 jboss-eap 中的特定用户配置了使用 Kerberos 身份验证的应用程序,它工作正常。但是要在组的基础上进行相同的配置,即特定组中的用户将能够进行身份验证。

用户的 Standalone.xml 配置:-

 <security-domains>
            <security-domain name="SPNEGO" cache-type="default">
                <authentication>
                    <login-module code="SPNEGO" flag="required">
                        <module-option name="serverSecurityDomain" value="host"/>
                    </login-module>
                </authentication>
                <mapping>
                    <mapping-module code="SimpleRoles" type="role">
                        <module-option name="saurabhgupta@ECO.COM" value="User"/>
                    </mapping-module>
                </mapping>
            </security-domain>

我的环境包括:

带有 JBoss EAP 6.2 客户端站的 linux 服务器,带有 Windows 7 64 位 + Chrome Windows Server 2008 Active Directory(充当 KDC)

应用大战地点:- https://github.com/kwart/spnego-demo

有没有人经历过这一切并以某种方式解决了它?

提前谢谢你,悉达多

4

1 回答 1

1

您可以将 SPNEGO 登录模块与其他登录模块配对,以便您可以将用户分配给角色。以下是如何通过Standalone.xml将您的用户与 LDAP 角色相关联的示例:

  <security-domain name="SPNEGO">
                <authentication>
                    <login-module code="SPNEGOUsers" flag="requisite">
                        <module-option name="password-stacking" value="useFirstPass"/>
                        <module-option name="serverSecurityDomain" value="host"/>
                        <module-option name="removeRealmFromPrincipal" value="true"/>
                    </login-module>
                    <login-module code="AdvancedAdLdap" flag="required">
                        <module-option name="password-stacking" value="useFirstPass"/>
                        <module-option name="bindDN" value="test"/>
                        <module-option name="bindCredential" value="test"/>
                        <module-option name="allowEmptyPassword" value="true"/>
                        <module-option name="java.naming.provider.url" value="ldap://test.jboss.redhat.com:389"/>
                        <module-option name="baseCtxDN" value="CN=Users,DC=jboss,DC=redhat,DC=com"/>
                        <module-option name="baseFilter" value="(sAMAccountName={0})"/>
                        <module-option name="roleAttributeID" value="memberOf"/>
                        <module-option name="roleAttributeIsDN" value="true"/>
                        <module-option name="roleNameAttributeID" value="cn"/>
                        <module-option name="recurseRoles" value="true"/>
                    </login-module>
                </authentication>
            </security-domain>
于 2017-06-07T11:50:39.927 回答