如何在Jboss EAP中为Kerberos实现配置组?

时间:2017-06-06 18:11:15

标签: kerberos jboss-eap-6 spring-security-kerberos kerberos-delegation

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

用户的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 64bit + Chrome的客户端工作站 Windows Server 2008 Active Directory(充当KDC)

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

有没有人全力以赴并以某种方式解决了它?

先谢谢你,Siddharth

1 个答案:

答案 0 :(得分: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>