gpt4 book ai didi

jboss - 如何为 JBoss EAP 6.4.0.GA (AS 7.5.0) 设置 Active Directory

转载 作者:行者123 更新时间:2023-12-04 14:26:16 24 4
gpt4 key购买 nike

我们从 WAS 迁移到 JBoss EAP 6.4.0.GA (AS 7.5.0),但我无法设置 Active Directory 来保护我们的 Web 应用程序。我的配置灵感来自 http://middlewaremagic.com/jboss/?p=378但它不适用于 7.5.0。

这是 中安全域的片段独立.xml

<security-domain name="ad_security_domain" cache-type="default">
<authentication>
<login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required">
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<module-option name="java.naming.provider.url" value="ldap://10.175.35.60:389"/>

<module-option name="bindDN" value="CN=AD Reader,OU=Users,OU=XXX Group,DC=ferradev,DC=fe"/>
<module-option name="bindCredential" value="secret"/>

<module-option name="baseCtxDN" value="OU=Users,OU=XXX Company,OU=XXX Group,DC=ferradev,DC=fe"/>
<module-option name="baseFilter" value="(sAMAccountName={0})"/>

<module-option name="rolesCtxDN" value="OU=Groups,OU=XXX Company,OU=XXX Group,DC=ferradev,DC=fe"/>
<module-option name="roleFilter" value="(member={1})"/>
<module-option name="roleAttributeID" value="memberOf"/>
<module-option name="roleAttributeIsDN" value="true"/>
<module-option name="roleNameAttributeID" value="cn"/>

<module-option name="allowEmptyPasswords" value="false"/>
<module-option name="Context.REFERRAL" value="follow"/>
<module-option name="throwValidateError" value="true"/>
<module-option name="searchScope" value="SUBTREE_SCOPE"/>
</login-module>
<login-module code="org.jboss.security.auth.spi.RoleMappingLoginModule" flag="optional">
<module-option name="rolesProperties" value="${jboss.server.config.dir}/fop-roles.properties"/>
</login-module>
</authentication>
</security-domain>

我的 中有此代码jboss-web.xml
<?xml version="1.0"?>
<jboss-web>
<security-domain>ad_security_domain</security-domain>
</jboss-web>

在 config 目录(standalone.xml 所在的位置)我有属性文件 fop-roles.properties
APP_GG_FOP_DEV_ADMINS=Administrators

这是我的 的片段web.xml
<security-constraint>
<web-resource-collection>
<web-resource-name>Admin Resources</web-resource-name>
<url-pattern>/configuration/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Administrators</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>

....

<security-role>
<description>Administrators Role</description>
<role-name>Administrators</role-name>
</security-role>

下面是我们 Active Directory 结构的屏幕截图:

群组:
enter image description here

用户:
Users structure

将 Web 应用程序成功部署到 JBoss 后,会显示登录页面,但在填写凭据后,我总是收到错误消息:

TRACE [org.jboss.security] (ServerService Thread Pool -- 100) PBOX000354: 设置安全角色 ThreadLocal: null

最佳答案

我最近花了很多时间用 Active Directory 配置 LDAP。我发现一个很好的测试方法是安装 Apache Directory Server 并将其用于本地调试。

<security-domain name="LdapSecurityDomain" cache-type="default">
<authentication>
<login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required">
<module-option name="password-stacking" value="useFirstPass"/>
<module-option name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<module-option name="java.naming.provider.url" value="ldap://your.ldap.host:389/"/>
<module-option name="java.naming.security.authentication" value="simple"/>
<module-option name="bindDN" value="uid=BindUser,OU=Users,DC=yourCompany,DC=biz"/>
<module-option name="bindCredential" value="theBindUserPassword"/>
<module-option name="baseCtxDN" value="OU=Users,DC=yourCompany,DC=biz"/>
<module-option name="baseFilter" value="(uid={0})"/>
<module-option name="roleFilter" value="(member={1})"/>
<module-option name="rolesCtxDN" value="OU=RoleGroups,DC=yourCompany,DC=biz"/>
<module-option name="roleAttributeID" value="cn"/>
<module-option name="roleNameAttributeID" value="cn"/>
<module-option name="roleRecursion" value="0"/>
<module-option name="throwValidateError" value="true"/>
<module-option name="java.naming.referral" value="follow"/>
<module-option name="searchScope" value="SUBTREE_SCOPE"/>
<module-option name="unauthenticatedIdentity" value="unauthenticated"/>
<module-option name="allowEmptyPasswords" value="false"/>
</login-module>
</authentication>

关于jboss - 如何为 JBoss EAP 6.4.0.GA (AS 7.5.0) 设置 Active Directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31726833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com