Autenticacion

davids
30 de Junio del 2003
Hola,

Tengo un sitio web en el que para entrar hay que autenticarse en el servidor, es decir, a traves de la ventana que salta en el que te pide ususario y contraseña.

Me gustaria saber si desde asp es posible lo siguiente:

Recoger ese usuario y contrasena desde un formulario y enviar estos al servidor de forma que pueda evitar esa ventana que te lanza el navegador. Supongo que una posibilidad para hacer esto es enviado las cabeceras
http necesarias:
{GET|POST} *url HTTP/1.1
host: *Host
user-agent: *mozilla...
connection: keep-alive
content-length: 12345 *bytes
content-type: text/plain
accept: */*
authorization: Basic MjAwMzA6OTg2MTEz

codificando en base64 la cadena usuario:passwd

No se si sera esta la mejor forma de hacerlo pero es en la que estoy trabajando, el problema que tengo es que tampoco se como enviar
desde asp estas cabeceras.

Así que, si alguien sabe como hacer el envio de estas cabeceras o sabe otra forma de evitar que aparezca esta ventana le agradeceria su ayuda.

saludos

_ssX
30 de Junio del 2003
Podrias usar una session en ASP, estos datos puedes guardarlos en una base de datos y verificar si existen en ella, si es asi creas una variable de session y si no pues la pagina no se muestra..


Este archivo verifica si la el nombre y usuario son correctos SIN DB..

----------------------------verificar.asp--------
<%
' miro a ver si la autentificacione es correcta
if (request.form("usuario") = "admin" and request.form("contrasena") = "123456") then
'Todo OK!
'coloco las variables de sesion
session("autentificado") = "si"
'redirecciono a la página de la aplicación
response.redirect "panel.asp"
else
response.redirect "index.asp?errorusuario=si"
end if
%>
------------------------------------------------

Tu formulario seria algo como esto

----------------------------index.asp-------------
<html>
<head>
<title>Sistema e-Listas [fussion]</title>
<link rel="STYLESHEET" type="text/css" href="estilo.css">
<link href="css.css" rel="stylesheet" type="text/css">
</head>
<body leftmargin="0">
<h1>&nbsp;</h1>
<form action="check_user.asp" method="POST">
<table width="550" cellspacing="2" cellpadding="2" border="0">
<tr>
<%
if request.querystring("errorusuario")<>"si" then
%>
<td colspan="2" align="center" bgcolor=#cccccc class="text">Introduce tu clave de acceso</td>
<%
else
%>
<td colspan="2" align="center" bgcolor=#ff0000 class="text"><b>Datos incorrectos</b></td>
<%
end if
%>
</tr>
<tr>
<td align="right" class="text">USER:</td>
<td><input type="Text" name="usuario" size="20" maxlength="50"></td>
</tr>
<tr>
<td align="right" class="text">PASSWD:</td>
<td><input name="clave" type="password" id="clave" size="20" maxlength="50"></td>
</tr>
<tr>
<td colspan="2" align="center"><div align="right">
<input type="Submit" value="ENTRAR">
</div></td>
</tr>
</table>
</form>
</body>
</html>
------------------------------------------------

Y el include que llevarian las paginas protegidas para revisar si esta autentificado..

-----------------------------keysecurity.asp-----
<%
Response.Buffer = true
' compruebo que tengo la variable de sesion creada y el usuario correco
if session("autentificado") <> "si" then
response.redirect "index.asp"
response.end
end if
%>
------------------------------------------------

Espero te de una idea si no escribeme.. ok..