Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
manejo de sesiones
Enviado por ratxamala el día 19 de septiembre de 2005
Mi problema es el siguiente estoy trabajando con dos tipos de usuarios el administrador y el usuario comun despues de identificarse con el login y la contraseña van a diferentes paginas:
administrador->bienvenidoadmin.jsp
usuario->bienvenidouser.jsp
dentro de bienvenidoadmin.jsp existe un link a modificar.jsp privilegio que solo tiene el que se loguea como administrador; pero tengo un problema si me logueo como usuario y copio la url de modificar.jsp quedo como administrador; si abro el iexplorer y meto la url de modificar.jsp ovbiamente me redirecciona a la pagina de acceso negado. pero en el primer caso existe un error de seguridad; el codigo que coloco a continuacion es para un .class que funciona perfectamente y es para autorizar al usuario y me redirecciona segun el tipo de usuario por medio del dispacher. La segunda parte de codigo son las primeras lineas de modificar.jsp el cual es el que valida las sesiones para mi esta correcto pero no se porque no valida si es usuario o admin correctamente, cosa que necesito para poder solucionar el problema comentado... espero pronta ayuda... gracias...
__________________________________________________
PRIMERA PARTE: AutorizarUsuarioTrionix.java
__________________________________________________
package trionix;
public class AutorizarUsuarioTrionix extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
//Definición de variables necesarias
String login = request.getParameter("log");
String password = request.getParameter("pass");
request.setAttribute("URI", request.getRequestURI()); // Salva la URI en caso de necesitarse posteriormente
//Página redirigida si el password y/o login es incorrecto
RequestDispatcher dispatcher1 = getServletContext().getRequestDispatcher("/trionix/error.jsp?message=INGRESO_INVALIDO");
//Página redirigida si el usuario es administrador
RequestDispatcher dispatcher2 = getServletContext().getRequestDispatcher("/trionix/Bienvenido.jsp");
//Página redirigida si el usuario es usuario
RequestDispatcher dispatcher3 = getServletContext().getRequestDispatcher("/trionix/Bienvenidouser.jsp");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
UsuarioTrionix user = new UsuarioTrionix();
//Integer coduser = new Integer(user.validarUsuario(login, password));
String coduser = user.validarUsuario(login, password);
}//end if
else {
dispatcher1.forward(request,response);
}//end else
}// end doPost()
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException,ServletException
{
doPost(request, response);
}
}//end servlet
__________________________________________________
SEGUNDA PARTE: Modificar.jsp
__________________________________________________
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<% HttpSession sesion = request.getSession(true);//asi le coloque true or false me da el mismo resultado
Object lo= session.getAttribute("Log");
Object ti= session.getAttribute("Rol");
//funciona bien
if (lo==null){
response.sendRedirect("nologin.jsp?message=VIOLACION DE ACCESO");
}
//aqui empieza el problema parece que nunca pasara por aca
if (ti=="usuar"){
response.sendRedirect("noadmin.jsp?message=VIOLACION DE ACCESO");
}
%>
Enviado por aloneibar el día 20 de septiembre de 2005
En Modificar jsp. Estás en java, por lo que debería poner if (lo.equals(null)) y if (ti.equals(\"usuar\")). ¿De todas formas qué valores te visualiza en Log y Rol yendo directamente a esta página?
Enviado por ratxamala el día 20 de septiembre de 2005
excellente respuesta, cambie los if de forma en que me dijo y todo funciona pero persiste el problema de fondo...
si entro como usuario llego a bienvenidouser.jsp, pego la url de modificar.jsp 'http://localhost:8080/practicas/trionix/Modificar.jsp' y me redirecciona correctamente a acceso no valido.
Ahora entro como administrador llego a la pagina bienvenidoadmin.jsp en ella hay un link a modificar.jsp
y me deja pasar a esta pagina, 'copio la url' dentro de modificar.jsp tengo un link a cerrar sesion el cual me llama a la pagina cerrar.jsp la cual el unico contenido que tiene en el body es el siguiente:
y me redirecciona a el index, entonces me logueo como usuario comun llego a bienvenidouser.jsp y pego la url en la barra de direcciones y quedo como administrador. Ese es el problema de seguridad que tengo, lo mismo pasa si estoy logueado como administrador llego a modificar.jsp copio la url y le doy atras-atras hasta llegar al index ne logueo como usuario pego la url y otra vez quedo con opciones de administrador...
si no es mucha la molestia a mi tambien me podrias enviar la clase UsuarioTronix para estudiarla y aprender mas ya que recien me estoy iniciando... bueno muchas gracias mi e-mail es:
Me alegra que el problema halla sido solucionado, actualmente estoy terminando una aplicaión en JAVA y me falta construir el modulo de seguridad y sesiones, le agradeceria si mi pudiera enviar las clases y los jsp nesesarios de seguridad y sesiones para analizarlos y hacer el modulo de seguridad