entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Como realizo dos gestores de autenticacion y dos login al tiempo en spring-security?

Hola a todos!
No si es pueda encontrar a alguien que me pueda ayudar con el siguiente problema:Estoy trabajando con spring-security para asegurar una web que tiene dos tipos de acceso en distintos login.jsp. Lo que estoy tratando de hacer es implementar dos <autheticacionManager> uno para el acceso del admin cuyas credenciales vienen de base de datos las cuales vienen con un customauthenticationprovider. El otro gestor para el usuario lo tengo con las credenciales que les mando directo en un <user services> que viene dentro del customauthenticationprovider que viene en el segundo authenticationamanager. A los dos formularios en el form apuntan al /j_spring_security_check. La cosa es que solo me funciona el filtro o gestor del admin y si trato de ingresar por el login del usuario me manda a la pagina de error del filtro del admin, es decir siempre va a consultar a la base de datos las credenciales y no toma las que les mando directo en el authenticationmanager del usuario.

Alguna sugerencia para poder tener los dos proveedores de autenticacion? Gracias

1 Respuesta

2votos

Jedaro Puntos350

Resuelto! gracias

Para poder tener funcionando los dos "reinos de seguridad", que es como se llama en Spring security, en mi caso, tuve especificar en el filtro <http> del usuario el authenticationManager a donde va a buscar las credenciales, en este caso a la BD mediante el customAuthenticationDetailServicer, este se especifica con <http authentication-manager-ref="" />. Lo mismo se hace para el filtro del admin, pero las credenciales como no vienen de la base de datos, sino de un web services, tenia que usar un customAuthenticationProvider, ya que debia validar al usuario con el username y password. Despues en ambos filtros <hhtp> debo especificar a que /j_spring_security_check se tenia que ir a validar, es decir con login-processing-url="/user/j_spring_security_check y para el usuario y un login-processing-url="/admin/j_spring_security_check en el filtro del administrador, por ultimo en cada formulario login llamo a estos objetos en el action. Asi quedan funcionan los dos filtros y cada uno valida de acuerdo a lo que se digita en cada formulario login.
Espero le sirva a otros y saludos!

0voto

Peter comentado

Por favor comparte la solución. Edita esta respuesta, pon la solución y marcada como correcta.

Gracias.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta