lunes, 14 de mayo de 2007

Acceso en JSP: Variables de session

Ejemplo simple para proteger paginas web e información sensible:
Utilizando sessiones en JSP:
Este ejemplo muestra una pagina inicial inicio.html preguntando por su nombre, luego nos lleva a la pagina login.jsp creando una session para almacenar el nombre que ingreso y muestra un link a secreto.jsp el cual es un archivo sensible para proteger.
<html>
<head>
<basefont face="Arial">
</head>
<body>
<!-- inicio.html -->
<form action="login.jsp" method="post">
<table>
<tr>
<td>Nombre</td>
<td><input type=text name=usuario> <input
type="Submit" value="Enviar"></td> </tr>
</table>
</form>
</body>
</html>

Un vez que se hace click en Enviiar nos lleva a: "login.jsp" .


<html>
<head>
<basefont face="Arial"
</head>
<body>
<%
// Obtener la variable del form
String usuario = request.getParameter("usuario");
// creamos una session
session.putValue("usuario", usuario);
// colocando tiempo de activacion
session.setMaxInactiveInterval(300);
// Mostrando el link para el archivo protegido
out.println("Gracias por usar este servicio.");
out.println("Click <a href=secreto.jsp>aqui</a>");
out.println("para acceder;"
); %>
</body>
</html>

aqui esta la pagina secreta. "secreto.jsp"

<html>
<head>
<basefont face="Arial">
</head>
<body>
<%
// secreto.jsp
// obteniendo el nombre de usuario de la session
String usuario = (String)session.getValue("usuario");
// si es null, se abre la seguridad!
if (usuario == null)
{
response.setHeader("Localizacion", "inicio.html");
}
else
{
// mostrar la pagina protegida
%>

Bienvenido a su pagina protegida, <b><%= usuario %></b>!
<p>
Su ID de session es <% out.println( session.getId() ); %>
<p>
Esta session expirara en <% out.println(
session.getMaxInactiveInterval() ); %> segundos.
<%
}
%>
</body>
</html>

No hay comentarios: