Ver Mensaje Individual
  #16 (permalink)  
Antiguo 20/05/2009, 10:44
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?

Agregue la linea que me comentaste:

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>0  && ((String)session.getAttribute("id_nivel")).equals"1"))
          {
            
response.sendRedirect("../test.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();
      }
  }

y la pagina principal.jsp lleva esto:

Código PHP:
<&#37;

if(session.getAttribute("nombre") ==null) {
    
//El usuario no esta logeado, haces lo que corresponda...

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

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

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

%> 
Sin embargo, no me muestra nada, ahora se queda en blanco como queriendo procesar loginbean.jsp, que lleva esto actualmente:

Código PHP:
<HTML>
<
HEAD><TITLE>DataBase Search</TITLE></HEAD>
<
BODY>
<
jsp:useBean id="db" scope="request" class="beans.Usuario" >
 </
jsp:useBean>

 <%
 
String nombre request.getParameter("NOMBRE");
 
String clave request.getParameter("CLAVE");
 %>

<
jsp:forward page="../login">
  <
jsp:param name="nombre" value="<%=db.getNombre()%>" />
  <
jsp:param name="clave" value="<%=db.getClave()%>" />
</
jsp:forward>
</
body>
</
html
Si estoy haciendo algo mal, las disculpas del caso, entiendo que solo deberia agregar el codigo, pero no pasa nada, un saludo y gracias :)

Última edición por saman0suke; 20/05/2009 a las 11:10