2009-03-28 12 views
8

Estoy confundido acerca de la autenticación con BlazeDS. La mayoría de los pocos ejemplos que he encontrado para la autenticación y autorización en BlazeDS y, en consecuencia, los Servlets Java en general hacen uso de la autenticación HTTP básica y digestiva y reinos para la autorización. Estos ejemplos son muy simples e involucran archivos XML con credenciales de usuario en lugar de utilizar una base de datos. Mi experiencia pasada en aplicaciones web usó inicios de sesión y sesiones de autenticación y autorización, pero no estoy seguro de cómo hacer esto con aplicaciones Flex con backends BlazeDS.Autenticación BlazeDS

Lo que quiero hacer es tener acceso a algún servicio en el back-end para manejar la autenticación como un formulario HTML y almacenar archivos de sesión en una cookie para autorización, pero tengo problemas para encontrar detalles relevantes usando cookies en aplicaciones BlazeDS y Flex.

Si la autenticación HTTP con autenticación básica o resumida es la mejor manera, ¿hay algún recurso para averiguar cómo autenticar usuarios con las credenciales almacenadas en la base de datos en lugar de un archivo XML?

No estoy particularmente interesado en los marcos web ya que me gustaría saber cómo autenticar/autorizar a los usuarios con un Servlet y BlazeDS simples.

Respuesta

7

La autenticación con BlazeDS y Flex no es diferente de las aplicaciones web tradicionales. Flex usa la misma pila de red que el navegador. Así que solo siga las instrucciones para proteger su servidor de aplicaciones y luego debería funcionar. Si desea tener el formulario de inicio de sesión en Flex, puede enviar las credenciales a j_security_check (para la autenticación basada en el formulario). Alternativamente, puede llamar al inicio de sesión en el conjunto de canales. Spring Security y Spring BlazeDS Integration M2 lo hacen muy fácil. Consulte Test Drive para obtener una muestra excelente (los nombres de usuario y las contraseñas aún se encuentran en un archivo XML, pero puede seguir fácilmente la documentación de Spring para moverlos a una base de datos o servidor LDAP).

+0

En la prueba de manejo, parece que el channelSet se restablece en cada actualización del navegador. Si ha autenticado y actualizado la página y comprueba channelSet.authenticated, dice que es falsa, pero su llamada remoteObject seguirá funcionando. Parece que permaneces autenticado para Spring, pero Flex no lo sabe. Me gustaría encontrar una forma de iniciar sesión utilizando la seguridad de Spring y hacer que se transfiera a Flex, JSP, lo que sea (como SSO). Me gustaría poder verificar desde Flex para ver si ya estás autenticado con Spring (además de llamar a un método de acceso ilegal y ver si se te niega el acceso). –

+0

@ I-Never-Finish-Anythi otra solución del lado del cliente sería mantener esta información en un objeto compartido Flash. Almacene algún tipo de token y sello de tiempo, y si es válido, realice la autenticación con ese token. Llamar a un método de hackeo parece una solución más limpia para mí. –

1

Utilice Spring Security y consulte este sitio web link text. Espero que ayude

Cuestiones relacionadas