JSP (Java Server Page) - Consulta inicio de sesión

 
Vista:
sin imagen de perfil

Consulta inicio de sesión

Publicado por Fernando (4 intervenciones) el 08/01/2014 19:52:04
Hola,

Tengo algunas dudas sobre el inicio de sesión o Login de una aplicación que estoy haciendo.

1ª - Una vez el usuario está logeado, si se utilizán los botones de avance/retroceso del navegador el usuario sale/entra de la aplicación. ¿Cómo podria evitar eso?

2ª - Estoy utilizando para la sesion en Struts2 la interface SessionAware, aunque no se si correctamente. Utilizo una clase que llamo Login.java y ahí hago todas las tareas

Esto es parte del archivo struts.xml
1
2
3
4
5
6
7
8
9
10
!--   login action  -->
<action name="login" class="login.action.Login">
   <result name="input" type="tiles">inicio</result>
   <result name="success" type="tiles">usuarioLayout</result>
</action>
 
<!--   logout action  -->
<action name="logout" class="login.action.Login" method="logout">
   <result name="success" type="tiles">inicio</result>
</action>

Estas son las tareas:

1.- Cojo el usuario y contraseña que se entra en la jsp
2.- Hago una consulta en la BBDD con hibernate para saber que existe

Parte del archivo Login.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public String execute()  {
 
      try {
         hibernateSession = HibernateUtil.getSessionFactory().openSession();
         hibernateSession.beginTransaction();
 
         if (usuarioForm != null && contrasenaForm != null && (!usuarioForm.equals(""))
               && (!contrasenaForm.equals(""))) {
            //Query peral usuario 
            String queryUsuario = "FROM Usuario WHERE usuario='" + usuarioForm + "'AND contrasena='" + contrasenaForm + "'";
            usuario = (Usuario) hibernateSession.createQuery(queryUsuario).uniqueResult();
            session.put("loginId", usuarioForm);
 
 
 
 
 
         } else {
            //Acción por si el formulario està vacio 
            addActionError("Debe de introducir datos");
            return INPUT;
         }
         //Acción por si no existe 
         if (usuario == null)  {
            addActionError("El usuarior no existe");
            return INPUT;
         }
 
         hibernateSession.flush();
         hibernateSession.close();
      } catch (HibernateException e) {
         e.printStackTrace();
      }
 
      if (usuario != null){
         return SUCCESS;
      }
Si el usuario existe pues como en todas las páginas web puede acceder a sus datos de perfil y demás. Y me encuentro con el problema que si nada más comprobar que el usuario existe muestro los datos de perfil, es decir el model del objeto, me funciona perfectamente pero si dejo que el usuario acceda al meú y pueda elegir las diferentes opciones entre ellas ver el perfil no lo muestra y yo entiendo que debería de estar ya cargado en el contexto de Java. ¿Cómo lo podría hacer?

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Consulta inicio de sesión

Publicado por Leynad (4 intervenciones) el 30/04/2014 20:41:34
Buen día. Tu puedes generar una variable de sesión que se mantega hasta que salgas de la aplicacion cuando quieras entrar a tus paginas de la aplicacion si esa variable viene nula simplemente que te redireccione al login. Sin tener que hacer una consulta directamente a ala base de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar