por
pobrecito hablador
el Martes, 27 Febrero de 2007, 23:46h
(#883406)
Habiendo leído un poco...
j_security_check se utiliza en el servidor para proteger los recursos que le dices que están protegidos, no para hacer login de la aplicación como tal, que sí se consigue como efecto colateral de la autenticación. Parece una gilipollez, pero creo que es el detalle que está fallando.
Cuando el servidor detecta que intentas acceder a un recurso protegido, te lleva a la validación (formulario con action j_blabla, ventana de autenticación básica del navegador o certificado de usuario) de j_blabla y cuando la validación es satisfactoria te lleva al recurso original al que intentabas acceder (o a la página de error, si se usa form como modo de autenticación).
Si se ha puesto j_security_check desde la pantalla de introducción a la aplicación (algo con su lógica), pasaría lo siguiente. Te carga el formulario (no protegido), el usuario mete los datos, j_secublabla ejecuta y da su OK, el servidor te lleva al recurso original, ups! No hay recurso original. El recurso original es el formulario de login, pero el servidor intenta devolverte el anterior (porque el login te lo ha mostrado para hacer la autenticación, no para permitir el acceso al login --sería un login recursivo y no queremos logarnos para que se nos permita re-logarnos en la aplicación, no?--) y no lo hay, así que al final se hace la propia un lío y te manda a j_blabla, que no existe (bueno, que existe, pero que no).
Prueba poniendo la primera pantalla de la aplicación como index en el web.xml y protegido. Cuando intentes acceder, te llevará al formulario de entrada, autenticación OK, te redirige a tu recurso primigenio: la pantalla principal de tu maravillosa aplicación web.
Seguiremos mirando...
voy a hacer lo que dices, tiene bastante logica y venia pensando en probar algo parecido de camino al trabajo: quitar la llamada a j_security_check del jsp, llamar a una accion normal de struts e intentar hacer la autenticacion esta desde alli, a ver que pasa, lo que dices de poner la pagina de index como primera pagina y protegerla parece algo sensato y mas facil y rapido de probar
muchas gracias por las ayuda:D
si consigo algo lo pondre por aqui...
--
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.
Re:Interesante
(Puntos:1, Informativo)j_security_check se utiliza en el servidor para proteger los recursos que le dices que están protegidos, no para hacer login de la aplicación como tal, que sí se consigue como efecto colateral de la autenticación. Parece una gilipollez, pero creo que es el detalle que está fallando.
Cuando el servidor detecta que intentas acceder a un recurso protegido, te lleva a la validación (formulario con action j_blabla, ventana de autenticación básica del navegador o certificado de usuario) de j_blabla y cuando la validación es satisfactoria te lleva al recurso original al que intentabas acceder (o a la página de error, si se usa form como modo de autenticación).
Si se ha puesto j_security_check desde la pantalla de introducción a la aplicación (algo con su lógica), pasaría lo siguiente. Te carga el formulario (no protegido), el usuario mete los datos, j_secublabla ejecuta y da su OK, el servidor te lleva al recurso original, ups! No hay recurso original. El recurso original es el formulario de login, pero el servidor intenta devolverte el anterior (porque el login te lo ha mostrado para hacer la autenticación, no para permitir el acceso al login --sería un login recursivo y no queremos logarnos para que se nos permita re-logarnos en la aplicación, no?--) y no lo hay, así que al final se hace la propia un lío y te manda a j_blabla, que no existe (bueno, que existe, pero que no).
Prueba poniendo la primera pantalla de la aplicación como index en el web.xml y protegido. Cuando intentes acceder, te llevará al formulario de entrada, autenticación OK, te redirige a tu recurso primigenio: la pantalla principal de tu maravillosa aplicación web.
Seguiremos mirando...
Re:Interesante
(Puntos:2)( http://barrapunto.com/ | Última bitácora: Lunes, 24 Febrero de 2014, 10:03h )
muchas gracias por las ayuda
si consigo algo lo pondre por aqui...
Dale fuego a un hombre y estara caliente un dia, prendele fuego y estara caliente el resto de su vida.