2012-04-04 18 views
5

Deseo desarrollar una aplicación web Java simple con el servidor JBoss 7 para permitir el inicio de sesión desde el usuario/contraseña ingresado por el usuario y autenticar con ldap.Autenticación LDAP con JBoss 7

Así que esto es lo que escribí en web.xml colocado en WEB-INF/

<login-config> 
    <auth-method>BASIC</auth-method> 
    <realm-name>Enter user name and password</realm-name> 
</login-config> 

añadió después jboss-web.xml en la misma carpeta

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

Luego añadí sitio web- ámbito de dominio en 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> 

Entonces, ¿cómo se enviarán el nombre de usuario y la contraseña introducidos a estos módulos? ¿O tengo que escribir un dominio JAAS personalizado? ¿Es algún ejemplo de trabajo que ustedes me pueden compartir?

Respuesta

1

Su aplicación web tiene que apunte a su dominio de seguridad página web en el dominio mediante la adición de una línea en WEB-INF/jboss-web.xml

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

Creo en Jboss 7 debe especifique sólo a página web en el dominio (sin java:/jaas/ prefijo)