2009-04-07 10 views
8

Quiero desarrollar una aplicación Java que pueda detectar al usuario conectado a un Dominio de ventana. Estas credenciales se usarán para iniciar sesión en la aplicación Java que se ejecuta en Tomcat.Detectar usuario conectado en una computadora usando la aplicación web Java

¿Cómo puedo hacer esto? Quiero saber el usuario remoto que accede a mi aplicación web. Este usuario ha iniciado sesión en un directorio activo

¡Gracias!

+0

¿Cómo es esto diferente de http://stackoverflow.com/questions/725124/detect-user-logged-on-a-computer-using-java? –

+0

Quizás hice la pregunta de una manera incorrecta. Las soluciones anteriores no funcionan en una aplicación web Java. – VansFannel

+0

Quizás esto es lo que estás buscando? http://stackoverflow.com/questions/439120/how-to-configure-tomcat-to-use-windows-ntlm-authentication –

Respuesta

5

Esta es mi solución:

Put JCIFS-1.2.7.jar en [TOMCAT_HOME] Directorio/common/lib. web.xml

de aplicación Modificar añadir el texto a la sección followin webapp:

<filter> 
    <filter-name>NtlmHttpFilter</filter-name> 
    <filter-class>jcifs.http.NtlmHttpFilter</filter-class> 
    <init-param> 
     <param-name>jcifs.http.domainController</param-name> 
     <param-value>xx.xx.xx.xxx</param-value> --> Domain Controller IP 
    </init-param> 
    <init-param> 
     <param-name>jcifs.util.loglevel</param-name> 
     <param-value>2</param-value> 
    </init-param> 
    </filter> 
    <filter-mapping> 
     <filter-name>NtlmHttpFilter</filter-name> 
     <url-pattern>/*</url-pattern> 
    </filter-mapping> 

Y el que pueda obtener el usuario remoto usando request.getRemoteUser (whithout) del sistema.

Nos vemos.

+2

Esta característica de JCIFS está en desuso. Consulte el texto azul en la parte superior de la página de Autenticación HTTP de NTLM para obtener una explicación y la alternativa recomendada: http://jcifs.samba.org/src/docs/ntlmhttpauth.html – user8134

+1

@ioplex, ese texto azul no menciona que la licencia para jespa es diferente a la de JCIFS. Si usted es el JCIFS Mike, ¿quizás podría arreglar eso? –

1

En general, puede enganchar en el servicio de autorización local usando Java Authentication and Authorization Service. Eso podría hacer lo que quieras.

Dicho esto, ¿está seguro de que este es el camino correcto a seguir? ¿Qué quieres lograr? ¿Estás buscando una solución de inicio de sesión único para la aplicación web?

Entonces esto: How to configure Tomcat to use Windows NTLM authentication? podría ser lo que busca, según lo propuesto por Steve Leer en el comentario anterior.

+0

Quiero saber el usuario remoto que accede a mi aplicación web. Este usuario está conectado a un directorio activo. – VansFannel

0

Recuerdo que usar mod_ntlm para apache fue el truco para mí, pero eso fue hace unos años, así que no sé qué ha cambiado desde entonces.

1

Jcifs liabrary seguramente serán de su ayuda. Esta biblioteca se puede usar para realizar la autenticación NTLM.

Cuestiones relacionadas