2012-03-19 21 views
13

Tengo un par de aplicaciones web basadas en Java desarrolladas. Ambas aplicaciones tienen una lógica de Autenticación separada basada en alguna implementación de directorio ActiveX.Autenticación de Windows para aplicaciones web basadas en Java, ¿cómo?

Ahora, tengo que cambiar esto a autenticación de Windows para que cada vez que el usuario acceda a las URL de mis aplicaciones web, en lugar de redirigirlo a la página de inicio de sesión necesito verificar sus credenciales de Windows.

No quiero guardar sus credenciales de Windows en la URL.

¿Hay alguna buena manera de hacerlo?

+0

Es casi imposible hacer esto de forma independiente del navegador. Hace años logramos esto con una combinación de IE y Netegrity (ahora CA) SiteMinder. – Perception

+1

@Perception - En realidad, Spring Security + Kerberos puede ofrecer este tipo de funcionalidad para cualquier navegador que admita la autenticación Kerberos, que creo que son todos los principales navegadores en este momento. – cdeszaq

+0

Si no está utilizando la seguridad de primavera, intente con [SPNEGO Filter] (http://spnego.sourceforge.net/index.html) –

Respuesta

1

Recomendaría usar Active Directory para exponer su capa de autenticación de Windows sobre LDAP, que luego puede ser golpeada por algo como Spring Security.

Esto forzaría efectivamente a cualquier persona que use su aplicación a usar su inicio de sesión de Windows.

+1

Puede aplicar capas a los proveedores de autenticación con Spring Security, por lo que usar LDAP contra AD no necesariamente requiere una ventana inicia sesión para usar la aplicación. Spring Security es increíblemente flexible. – cdeszaq

10

Dependiendo del nivel de integración que desee que tenga su aplicación web, Spring Security debe tenerlo cubierto en casi todos los aspectos de lo que está buscando.

Si es aceptable redirigir a una página de inicio de sesión y autenticar las credenciales ingresadas en un servidor de Active Directory a través de LDAP, entonces el LDAP extension es el camino a seguir.

Si desea obtener más de un flujo de inicio de sesión único (SSO) y sus usuarios ya están autenticados contra el servidor autorizado de Active Directory en cuestión (por ejemplo, están registrados en el dominio), entonces Kerberos plugin para Spring Security ser más atractivo, ya que sus usuarios simplemente tendrán que ir a la aplicación web y no tendrán que pasar por ningún otro paso de autenticación. Los sistemas se encargarán de hacerlo detrás de escena.

También puede combinar/aplicar capas a estos enfoques si lo hace y probar primero la autenticación basada en Kerberos y, si esto sucede, volver a un formulario de inicio de sesión y autenticación basada en LDAP.

Si necesita ir más allá, Spring Security es lo suficientemente flexible como para permitirle usar la autenticación OpenID o en la aplicación, si es necesario.

Cuestiones relacionadas