2012-04-04 45 views
5

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

所以这是我在web.xml放在WEB-INF写/

<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> 

然后,我添加了网站 - domain domain in 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领域?他们的任何工作示例,你们可以分享我?

回答

1

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

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

我相信在JBoss中7,你需要仅规定网站域名(无的java:/ JAAS/前缀)