繁体   English   中英

jboss与LDAP的集成

[英]jboss integration with LDAP

我有一个当前使用JDBC验证登录到该应用程序的用户的应用程序。 但是现在我希望它应该能够使用LDAP登录到我的应用程序。 我的老板要我将LDAP与JBOSS集成在一起以实现它。 我是LDAP新手,不知道需要做什么。 有人可以建议吗?

您可以在JBoss的standalone.xml中添加自定义安全域 在此域中,您可以配置LDAP设置。 有关更多详细信息,请参见此内容。 LDAP设置取决于您使用的LDAP,因此没有常规的工作设置。

这是一个示例:

<subsystem xmlns="urn:jboss:domain:security:1.0">
<security-domains>
    <security-domain name="other" cache-type="default">
        <authentication>
            <login-module code="Disabled" flag="required"/>
        </authentication>
    </security-domain>
    <security-domain name="test_ldap_security_domain">
        <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.10.10.10:389"/>
                <module-option name="bindDN" value="cn=abc,cn=Users,dc=mydomain,dc=com"/>
                <module-option name="bindCredential" value="Test@123"/>
                <module-option name="baseCtxDN" value="cn=Users,dc=mydomain,dc=com"/>
                <module-option name="baseFilter" value="(userPrincipalName={0})"/>
                <module-option name="rolesCtxDN" value="cn=Users,dc=mydomain,dc=com"/>
                <module-option name="roleFilter" value="(userPrincipalName={0})"/>
                <module-option name="roleAttributeID" value="memberOf"/>
                <module-option name="roleNameAttributeID" value="cn"/>
                <module-option name="roleAttributeIsDN" value="true"/>
                <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"/>
                <module-option name="allowEmptyPasswords" value="true"/>
            </login-module>
            <login-module code="org.jboss.security.auth.spi.RoleMappingLoginModule" flag="optional">
                <module-option name="rolesProperties" value="/home/userone/jboss-as-7.0.1.Final/standalone/configuration/test-roles.properties"/>
                <module-option name="replaceRole" value="false"/>
            </login-module>
        </authentication>
    </security-domain>
</security-domains>
</subsystem>

根据应用程序的类型,您需要在应用程序中进行一些配置,以使应用程序使用该域。

如果您有Web应用程序(.war),则需要一个jboss-web.xml:

<jboss-web>
    <security-domain>java:/jaas/test_ldap_security_domain</security-domain>
</jboss-web>

您现在可以使用标准的JavaEE身份验证/授权机制。例如,在web.xml中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM