2008-11-06 18 views

Respuesta

22

de www.jspwiki.org

Ver: ActiveDirectoryIntegration

probar este en el server.xml con sus valores LDAP-:

<Realm className="org.apache.catalina.realm.JNDIRealm" debug="99" 

      connectionURL="ldap://youradsserver:389" 
      alternateURL="ldap://youradsserver:389"   
      userRoleName="member" 
      userBase="cn=Users,dc=yourdomain" 
      userPattern="cn={0},cn=Users,dc=yourdomain" 
      roleBase="cn=Users,dc=yourdomain" 
      roleName="cn" 
      roleSearch="(member={0})" 
      roleSubtree="false" 
      userSubtree="true" 
    /> 

y definir el papel en el gato -users.xml y el web.xml de su aplicación

edite el archivo webapp_root/WEB_INF/Web.xml de la siguiente manera:

<security-constraint> 
    <display-name>your web app display name</display-name> 
    <web-resource-collection> 
    <web-resource-name>Protected Area</web-resource-name> 
    <url-pattern>*.jsp</url-pattern> 
    <url-pattern>*.html</url-pattern> 
    <url-pattern>*.xml</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
    <role-name>yourrolname(ADS Group)</role-name> 
    </auth-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>FORM</auth-method> 
    <form-login-config> 
    <form-login-page>/login.jsp</form-login-page> 
    <form-error-page>/error.jsp</form-error-page> 
    </form-login-config> 
</login-config> 
<security-role> 
    <description>your role description</description> 
    <role-name>yourrolename(i.e ADS group)</role-name> 
</security-role> 
+1

El enlace está roto – Antonio

+0

Nuevo enlace a www.jspwiki.org (Thanks Antonio) – Blauohr

+0

Dado que no hay conexión con el nombre de usuario o la contraseña especificada en el contexto.xml, esto solo parece funcionar si las búsquedas anónimas pueden obtener la lista de roles. –

2

La autenticación basada en LDAP funciona sin pasos adicionales en ningún sistema operativo.

http://spnego.sf.net se puede utilizar para la autenticación silenciosa de usuarios conectados al dominio de Windows. Esto necesita una cuenta de dominio que esté registrada en el dominio para ser autorizada para el servicio proporcionado. Funciona tanto en Windows como en Linux.

0

"Bienvenido al proyecto SourceForge SPNEGO autenticación integrada de Windows en Java

La intención de este proyecto es proporcionar una biblioteca alternativa (archivo .jar) que los servidores de aplicaciones (como Tomcat) se puede utilizar como medio de autenticación de clientes (como navegadores web)

Si su organización ejecuta Active Directory (AD) y todas sus aplicaciones web pasan por Servicios de Internet Information Server (IIS) de Microsoft, y IIS tiene habilitada la Autenticación de Windows integrada, y todos en su organización está utilizando Internet Explorer (IE), entonces este proyecto no puede ser de cualquier interés para usted ".

+1

El enlace a la página del proyecto anterior es [SPENEGO] (http://spnego.sourceforge.net/) –

13

La respuesta de Blauhr es buena, pero el CN ​​de un usuario en AD se basa en su "Nombre para mostrar", no en su saMaccountName (con el que los usuarios están acostumbrados a iniciar sesión). Según su solución, parece que alguien debería iniciar sesión con su Nombre para mostrar, basado en el UserPattern.

, he utilizado el siguiente:

 <Realm className="org.apache.catalina.realm.JNDIRealm" debug="99" 
     connectionURL="ldap://DOMAIN_CONTROLLER:389" 
     connectionName="[email protected]" 
     connectionPassword="USER_PASSWORD" 
     referrals="follow" 
     userBase="OU=USER_GROUP,DC=DOMAIN,DC=com" 
     userSearch="(sAMAccountName={0})" 
     userSubtree="true" 
     roleBase="OU=GROUPS_GROUP,DC=DOMAIN,DC=com" 
     roleName="name" 
     roleSubtree="true" 
     roleSearch="(member={0})" 
    /> 

Todo lo demás sería más o menos el mismo trabajo.

+0

¡Excelente, funciona con Tomcat 7! Gracias –

Cuestiones relacionadas