Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Diseño web | Promoción web | Ganar dinero
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

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.


12/3/07 - 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.

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
+ 2 comentarios no revisados

 Autoría, licencia y acciones sobre este artículo

Informe de Pedro Rufo Martín*
Webmaster de www.asptutor.com
URL: http://www.asptutor.com/

Atención: Copyright. Este artículo no se puede reproducir sin la autorización expresa del autor.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Taller de ASP

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en Scripts en ASP


 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 2 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Taller de ASP
Categorías
+Scripts en ASP

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia