使用JBoss 7进行LDAP身份验证

时间:2012-04-04 16:33:51

标签: jboss ldap

我想用JBoss 7服务器开发一个简单的java Web应用程序,以便从用户输入的用户名/密码登录,并使用ldap进行身份验证。

所以这就是我在WEB-INF /

中放置的web.xml中写的内容
 <login-config>
     <auth-method>BASIC</auth-method>
     <realm-name>Enter user name and password</realm-name>
 </login-config>

然后在同一个文件夹中添加了jboss-web.xml

 <?xml version="1.0" encoding="UTF-8"?>
 <jboss-web>
     <security-domain>java:/jaas/website-domain</security-domain>  
 </jboss-web>

然后我在standalone.xml中添加了网站域域

<security-domain name="website-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://localhost:10389"/>
            <module-option name="bindDN" value="ou=people,dc=mycompany,dc=com" />
            <module-option name="bindCredential" value="shad"/>
            <module-option name="allowEmptyPasswords" value="false"/>
            <module-option name="Context.REFERRAL" value="follow"/>
            <module-option name="throwValidateError" value="true"/>
            <module-option name="allowEmptyPasswords" value="true"/>
        </login-module>
    </authentication>
</security-domain>

那么输入的用户名和密码将如何发送到这些模块?或者我是否必须编写自定义JAAS领域?他们的任何工作实例你们都可以分享我吗?

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

您的网络应用需要通过在 WEB-INF / jboss-web.xml 中添加一行来指向您的安全域网站域

<security-domain flushOnSessionInvalidation="true">java:/jaas/website-domain</security-domain>

我相信Jboss 7你只需要指定 website-domain (没有 java:/ jaas / 前缀)