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

Bueno, ahora ya funciona el acceso segun niveles de la siguiente manera:

Código PHP:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.sql.*;
import java.sql.*;
import conexion.conexionbd;


public class 
login extends HttpServlet{

   public 
void doPost(HttpServletRequest requestHttpServletResponse 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>&& (session.getAttribute("id_nivel")).equals(1))
          {
            
response.sendRedirect("../principal.jsp");
          }
          else
          {
                       
response.sendRedirect("../error.jsp");
          }


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

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

        
con.close();
        
System.out.println("Disconnected from database");
      } catch (
Exception e) {
      
e.printStackTrace();
      }
  }

Sin embargo, realiza la validacion al inicio de logueo, pero dentro del sistema hay varias paginas JSP a las cuales no debe acceder un determinado usuario,y si pongo un if dentro de cada JSP ya no hace caso, creo que al declarar los if dentro del JSP estoy cometiendo un error:

Código PHP:
<&#37;

if(session.getAttribute("id_nivel").toString().equals(1))  {
    
//El usuario no esta logeado, haces lo que corresponda...

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

%> 
Gracias por la ayuda como siempre!