我已经使用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
答案 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>