Ver Mensaje Individual
  #4 (permalink)  
Antiguo 19/05/2009, 17:03
Avatar de saman0suke
saman0suke
 
Fecha de Ingreso: abril-2009
Mensajes: 180
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: ¿Como restringir a un pagina JSP segun el nivel de usuario?

Hola de nuevo, estoy teniendo problemas a la hora de validar al usuario segun su nivel de acceso, supongo que al momento de dejar el Objeto usuario en sesion, ya que estoy trabajando un poco diferente el tema del login, posteo mi Servlet y el codigo del jsp para que me puedas ayudar, gracias:

Código:
public class login extends HttpServlet{

   public void doPost(HttpServletRequest request, HttpServletResponse response)
                                   throws ServletException,IOException{
      response.setContentType("text/html");
      PrintWriter out = response.getWriter();

      String lognombre="";
      String logclave="";
      String strQuery= "";
      PreparedStatement instruccion=null;
      Connection con = conexionbd.getConexion();
      ResultSet resultado=null;
      HttpSession session = request.getSession(true);

      try {
        if(request.getParameter("NOMBRE")!=null &&
         request.getParameter("NOMBRE")!="" && request.getParameter("CLAVE")!=null &&
         request.getParameter("CLAVE")!="")
        {
          lognombre = request.getParameter("NOMBRE").toString();
        logclave = request.getParameter("CLAVE").toString();
        strQuery="select * from usuario where nombre='"+lognombre+"' and  clave='"+logclave+"'";
           System.out.println(strQuery);
          instruccion = con.prepareStatement(strQuery);
          resultado = instruccion.executeQuery(strQuery);
          int count=0;
          while(resultado.next())
          {

            session.setAttribute("nombre",resultado.getString(2));
            session.setAttribute("id_nivel",resultado.getInt(5));
            count++;
          }

                    if(count>0)
          {
            response.sendRedirect("../principal.jsp");
          }
          else
          {
                       response.sendRedirect("../error.jsp");
          }


        }
        else
        {
           response.sendRedirect("login.jsp");
        }

        System.out.println("Connected to the database");

        con.close();
        System.out.println("Disconnected from database");
      } catch (Exception e) {
      e.printStackTrace();
      }
  }
}
Y este es el codigo que agrego al Servlet, sin embargo me da error cuando declaro == 1 ( por ejemplo):

Código:
<%

if(session.getAttribute("nombre") ==null) {

response.sendRedirect("../error.jsp");
}

if(session.getAttribute("id_nivel") ==1) {

response.sendRedirect("../principal.jsp");
}

%>
Seguro que es un problema con el set.Attribute para el nivel de usuario, por cierto, al momento del login solo pide usuario y contraseña, espero puedan ayudarme, gracias de antemano, un saludo!!