Foros del Web » Programación para mayores de 30 ;) » Java »

JSP logging y BD

Estas en el tema de JSP logging y BD en el foro de Java en Foros del Web. Hola a todos , Mi consulta es la siguiente: resulta que estoy desarrollando varias aplicaciones en jsp, pero necesito 2 vistas diferentes para los usuarios ...
  #1 (permalink)  
Antiguo 28/12/2005, 09:46
 
Fecha de Ingreso: diciembre-2005
Mensajes: 2
Antigüedad: 18 años, 4 meses
Puntos: 0
JSP logging y BD

Hola a todos ,
Mi consulta es la siguiente: resulta que estoy desarrollando varias aplicaciones en jsp, pero necesito 2 vistas diferentes para los usuarios que ingresen con (user, password) manejando algo asi como roles pero bajo aplicación, y la idea es que una vez el usuario ingrese, muestre un menú diferente y restringir accesos a los jsp que no deberia ver, se que php maneja esto con sesiones pero no encuentro manual para hacerlo en jsp.
Se que lo puedo hacer enviando los parámetros de pagina en pagina guardando el username y password bajo un input de tipo hidden pero me parece una solución muy pesima a la cual no quisiera recurrir, si alguien conoce algun sitio web en donde se explique como dar solucion a mi pregunta, le agradezco de antemano
  #2 (permalink)  
Antiguo 28/12/2005, 10:01
 
Fecha de Ingreso: diciembre-2005
Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 18 años, 4 meses
Puntos: 2
Usa un Servlet de tipo filtro para hacer lo que pides. La idea consiste en que uses un directorio por encima de la raíz, por ejemplo "/protegido/", donde pones los ficheros jsp que son de contenido protegido. En WEB-INF/web.xml redireccionas cualquier petición inicial de ejecución de un jsp de este directorio a un mismo Servlet de autenticación.

El servlet de autenticación debe situar una variable, por ejemplo "userName", en la sesión, para identificar al usuario a lo largo de ella.

En el capítulo 18 y siguientes de la referencia que te cito viene un ejemplo con código completo, incluyendo el uso de Struts, que te recomiendo.

Cita:
JavaServer Pages,
Hans Bergsten
Publisher: O'Reilly
  #3 (permalink)  
Antiguo 28/12/2005, 14:24
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Existen muchas formas de lograrlo, peor creo que la mas elegante es que apliques un patron como el MVC (Modelo Vista Controlador) usando por ejemplo la api de Struts

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #4 (permalink)  
Antiguo 28/12/2005, 21:06
 
Fecha de Ingreso: abril-2005
Ubicación: en Santa Cruz - España
Mensajes: 429
Antigüedad: 19 años
Puntos: 1
Estoy de acuerdo con bonfaca, aplica el patron de diseño MVC. Yo he realizado una aplicacion donde tengo un archivo llamado Barra.jsp donde a barra le envio el usuario y dentro de esta jsp me encargo de filtrar que roles tendra cada usuario que ingrese.

Esta opcion es la mejor porque al hacer:

<jsp:include page="BarraIzquierda.jsp">
<jsp:param name="usuarioactivo" value="<%= usuarioactivo %>"/>
</jsp:include>

se lo realiza de forma dinamica.
  #5 (permalink)  
Antiguo 29/12/2005, 04:53
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Eso funciona hasta cierto punto, pero si un usuario introduce directamente la URL o usa un bookmark, la barra.jsp no protegerá la aplicación. Si realmente se necesita seguridad, lo suyo es hacer pasar todas las peticiones por un servlet controlador o usar un ServletFilter para proteger todas las URL que lo necesiten.

Y el usuario no hay que pasarlo cada vez como parametro oculto, hay que guardarlo en la sesión para no depender de que te lo manden.
  #6 (permalink)  
Antiguo 30/12/2005, 07:28
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Claro, y el MVC no es el ejemplo que de mostro anteriormente de hecho.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:48.