Archivos de la aplicación con acceso restringido en ASP

  • Por
Veamos ahora como sería una página ASP de la aplicación con acceso restringido.
La aplicación con acceso restringido se realizará como cualquier otra aplicación de ASP, con la salvedad de que, a todos los archivos que queramos proteger, habrá que incluirles al principio la capa de seguridad, representada por el archivo seguridad.asp.

Como decía, todo en el archivo de la aplicación se realizará como cualquier otro archivo de ASP, es decir, con sólo incluir el módulo de seguridad, el archivo ya tendrá el acceso restringido y todo lo demás lo haremos de manera transparente a este estado de seguridad.

El código de una página segura sería el siguiente:

<!--#include file="seguridad.asp"-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Portada de la zona de actualización</title>
<link rel="STYLESHEET" type="text/css" href="estilo.css">
</head>

<body>

<br>
<div align="center">
<h1>Área de aplicación</h1>
<br>
<br>
Estás autentificado correctamente, por eso te dejamos operar en la aplicación segura...

<br>
<br>
<b>Gracias por su visita</b>


<br>
<br>
--------------
<br>
<br>
<a href="salir.asp">Salir de la aplicación segura</a>
</div>
</body>
</html>


Importante: El include del archivo seguridad.asp se ha de realizar en la primera línea del archivo ASP de la aplicación. Si no lo hacemos en la primera línea o si escribimos texto en la página antes de incluir la capa de seguridad, el script podría fallar y hacer que no funcione la aplicación o que sea menos segura. Este efecto se produce porque no se puede escribir en la página nada si se desea hacer una redirección con ASP (función response.redirect) y si se escribe algo, la redirección no podrá funcionar.

Un detalle que hemos incluido es un enlace para salir de la aplicación, que se dirige a el archivo salir.asp. Explicaremos el sentido de esta acción y el script de salir.asp en el siguiente capítulo.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

JUAN MARCOS GARCIA

05/2/2004
Aqui hay un pequeño problema, Todo esta bien hasta esta parte, ya que según el ejemplo la capa de seguridad, si estamos autentificados, nos lleva a "aplicacion.asp", pero he aqui el problema, que aunque no ingresemos la clave y nombre de usuario, con tan solo escribir la URL en donde se encuentra "aplicacion.asp" (En mi caso http://localhost/aplicacion.asp) la abre sin siquiera preguntar nada.

Como se podria resolver esto, que forzosamente tengamos que pasar por "index.asp" para ingresar nuestros datos.

Espero haya sido explicito

alexander

24/3/2004
cuando declaro una session("idusuario") en global.asa y lo asigno el inicio de sesion de un usuario
Ejemplo
session("iduser")=rs.field("iduser")
y al pasar de una pagina a otra pagina se borra la session

pero cuando le asigno la variable application("iduser") en global.asa
ejemplo
application("iduser")=rs.field("iduser")

no tengo problema, no pierde su variable cuando cambio de una pagina a otra pagina.
pero cuando 2 usuario ingresa en la misma pagina la variable
application("iduser")
remplaza a la otra variable.
como puedo hacer para que cada usuario al ingresar con su inicio de secion no remplaza al otro usuario que se inicio

joel

20/6/2004
Corroboro lo que dice el usuario anterior.El archivo seguridad.asp no cumple su funcion en el ejemplo.
He probado quitando el <!-- --> pues son comentarios de html y aun asi tampoco funciona, espero que alguien verifique ese detalle.

Juan Avila

18/7/2004
Pero volviste la variable session a cero?
si te logeas y luego abres ualquier pagina con el codigo de seguridad, el sistema te deja logeado hasta que se acabe el tiempo de logeo, y por lo tanto las abre sin problema.

Juan Pablo

28/2/2005
Es correcto el comentario anterior, el objetivo de las verificaciones propuestas en este artículo son no permitir el acceso a otras paginas de la aplicación sin haber accesado a esta a través de la pagina de acceso. Yo seguí el ejemplo de este artículo y solucione esta situación adicionando después del "tag form", la verificación del valor de la varíable de sesión que me indica si el usuario es valido.

<%
If Session("UsuarioValido") <> "Si" then
Response.Redirect("PagAccesoNoValido.asp")
End if
%>


Espero sea de la ayuda para ustedes.

Juan

23/9/2005
Buenas! El articulo me parece muy interesante pero tengo una duda: Estoy empleandolo en la creacion de mi pagina, elaboro esta en HTML y he aqui el problema, incluyo tambien paginas en ASP para hacer mas interactiva la pagina claro, pero el problema que tengo es que sin el include se lleva a cabo la identificacion correctamente pero tambien puedo accesar a esta pagina a traves del navegador, y cuando coloco el include pues me redirecciona a la pagina que contiene el ERROR, en pocas palabras no se crea la variable de session?
Gracias