Buscar en Asptutor     
Demo Tienda Virtual Tutorcar
 Navegacion->Inicio | Active Server Pages  

La web de los recursos y ejemplos de asp

Versión para imprimir

 

Alojado en:


urbe-networks.com

Recomienda esta pagina a un amigo

Servicios Gratuitos

Articulos relacionados

Utilizar GetRows()

Tienda Virtual - Carrito de compra

Messenger a través de BD en ASP

Miniaplicacion de comercio electronico

Objeto Datagrid de ASP.NET en ASP

Acotación de resultados

Insercion de registros en tablas

Objeto Datagrid de ASP.NET en ASP

Mas sobre el uso de cookies

Objeto Server

Listado desde una hoja EXCEL

Paginación de registros con XML

Insercion de registros en tablas

La Coleccion ServerVariables

Función para validar direcciones de correo (Revisión)

Compactar una BD Access


Enlaces recomendados

   

Tutorial ASP

Restriccion de acceso a paginas
Este articulo ha sido leído 138.695 veces

Restringir el acceso a páginas con ASP

A todos nos ha ocurrido que necesitamos que ciertas páginas de nuestro web solo puedan ser accedidas por usuarios previamente autorizados; a continuación os muestro un método sencillo, pero eficaz para conseguirlo.

Para guardar la lista de usuarios autorizados con sus correspondientes password crearemos  en una base de datos llamada XXXXX (no useis un nombre demasiado obvio) una tabla que denominaremos USUARIOS  con los campos USUARIO y PASSWORD.

Vamos paso por paso:

1.-Creamos una página con un formulario para que el usuario se identifique

2.- efectuaremos la comprobación del usuario y password introducidos con una simple consulta a la tabla USUARIOS, en el caso de que la identificación sea correcta crearemos para ese usuario una variable de session con un valor que identifique su validación como usuario.
En el caso de que la validación sea errónea devolvemos al usuario al formulario de login con un mensaje de error

Login.asp

<%if request.form("usuario")="" then%>
<form method="POST" action="login.asp">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="center"><%=request.querystring("msg")%></p>
<div align="center">
<center>
<table border="0" width="50%" bgcolor="#F2F2F2">
<tr>
<td width="100%" colspan="2" bgcolor="#0000FF">
<p align="center"><font color="#FFFFFF">Login</font></td>
</tr>
<tr>
<td width="50%">Usuario:</td>
<td width="50%"><input type="text" name="usuario" size="20"></td>
</tr>
<tr>
<td width="50%">Password: </td>
<td width="50%"> <input type="password" name="password" size="20"></td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center"><input type="submit" value="Enviar" name="B1"></td>
</tr>
</table>
</center>
</div>
</form>


<%else
'
eliminamos las posibles comillas de la entrada
'para evitar la introducción de sentencias SQL

usuario=replace(request.form("usuario"),"'","")
password=replace(request.form("password"),"'","")

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\dirBD\xxxxx.mdb"))
set rs = CreateObject("ADODB.Recordset")
sqltxt="Select * from usuarios where usuario='"&usuario&"' and password= '"&password&"'"
'response.write sqltxt
rs.Open sqltxt, conn
if not rs.eof then
'
nos ha devuelto un registro, ahora miraremos si es valido
' con ello evitamos el ataque típico SQL
if rs("usuario")=usuario and rs("password")=password then
' si el usuario esta en la base de datos y la password coincide
session("autorizacion")=1
response.redirect "default.asp"
end if
else
session("autorizacion")=-1

end if
rs.close
set rs=nothing
conn.close
set conn=nothing
if session("autorizacion")=-1 or session("autorizacion")="" then
' no hemos encontrado el registro
' eso indica que el usuario y/o la password son erroneos
response.redirect "login.asp?msg=Usuario%20o%20password%20incorrecta"
end if

end if%>

 

 

Luego, simplemente, en cada una de las páginas que queramos que requieran autorización previa chequearemos esa variable de session y permitiremos el paso si el chequeo es correcto o redirigiremos al usuario a la página de identificación en caso contrario.

<% if session("autorizacion")<>1 then

response.redirect "login.asp"

end if%>

El sistema nos permitiría incluso conceder diferentes niveles de acceso a páginas dependiendo del usuario, simplemente asignando un diferente valor a su variable de session .

 


Atras

 

¿Estas empezando y este articulo es muy complejo para tí?
Empieza por el principio, visita Ejemplos Básicos

Puedes obtener un listado completo de todos los artículos y ejemplos de ASP en http://www.asptutor.com/asp/todoslosarticulos.asp
 

Valora este articulo   Malo Excelente  
274 usuarios han valorado este articulo. Valoracion media:

Nota: Para cualquier consulta u opinión sobre este articulo puedes usar los foros

 

 

AspTutor lo hacemos entre todos ¿Como vas a colaborar hoy?


Google

 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar