如何在Jboss EAP中配置Kerberos实现中的组?
问题描述:
我已经为jboss-eap中的特定用户配置了Kerberos身份验证的应用程序,并且工作正常。但是想要根据组进行配置,即特定组中的用户将能够进行身份验证。用户如何在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="[email protected]" value="User"/>
</mapping-module>
</mapping>
</security-domain>
我的环境包括:与JBoss EAP 6.2 客户站
Linux服务器与Windows 7 64位+镀铬 的Windows Server 2008 Active Directory(作为KDC)
Applicat离子战地点: -https://github.com/kwart/spnego-demo
有没有人走过这一切,并以某种方式解决它?
谢谢你在前进,亚洲时报Siddharth
答
可以配对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>
嗨T-鹭,感谢您的答复。我已经使用了下面的配置,但它没有按照假定的方式工作。获取JBWEB000065:HTTP状态401 - 错误。 –
请确保您修改以下两行以匹配您的环境。您还可能需要使用端口636而不是389. * * –
这个提供的答案对您有帮助吗? –