Fueron enviados 4 comentarios a la faq

4 comentarios revisados:
Para ASP:
En la pagina A creas una variable de session (yo la llamo "Admin")la cual le das un valor verdadero en caso de haberse autentificado correctamente
Session("Admin") = true
En la pagina B (o cualquier pagina subsiguiente) Incluyes el siguiente codigo al principio:
<%
' verificar si se autentifico en el sistema
If Not Session("Admin") Then
CadenaError = "'Por favor autentifiquese
'"
Response.Write ("<script language=""Javascript"">" & vbCrlf)
Response.Write (vbTab & "window.alert(" & CadenaError & ");" & vbCrlf)
Response.Write (vbTab & "window.history.back();" & vbCrlf)
Response.Write ("</script>")
End If
%>
Con esta rutina autentificas por sesion de trabajo, si alguien trata de entrar directamente a cualquier pagina que tenga esta rutina y no ha pasado previamente por la pagina A para iniciar la variable de sesion en su valor verdadero sera reenviado a la pagina anterior.
Efectivamente podes hacerla usando variables de session o cookies. El problema con las cookies es que a veces o la mayoria de las veces son bloqueadas.
Los pasos son bien secillos:
1. Pedis el username y el password
2. En la siguiente pagina comprobas si ese username y ese password existen en una tabla de tu base de datos.
3. Si existen entonces creas algo como esto:
session("autenticado") = true
de lo contrario (si no existen)
session("autenticado") = false
e inmediatamente lo redirigis con response.redirect a la página donde pedis la contraseña. (si eres un poquito mas experto mandas un par de querystrings para identificar el error y dar un mensaje)
y a todas las demas páginas pones algo como esto
if session("autenticado") = false then
response.redirect "login.asp" (o como se llame tu pagina.)
else
'MOSTRAS EL CONTENIDO.
end if
Llevo más de 5 años programando en ASP y mi recomendación es que uses sesiones, son mucho más fáciles de programar en ASP que las Cookies.
En el fichero que compruebas el login a la zona donde quieres que sea restringido, hace un Session("Logado") = True (en el global.asa deberías poner algo como Session("Logado") = False en el método Application_OnStart).
En las páginas donde quieres ver si está o no el usuario logado solo tendrás que hacer
If Not(Session("Logado")) Then
Response.Redirect("URL_B")
End If
Esto te recomiendo que lo insertes en un fichero de inclusión, puesto que si quieres cambiar la URL_B te será mucho más fácil cambiarla en un fichero que en 5 ó 20.
Bueno espero haberte sido de ayuda
Primero te tengo que decir que no conozco nada de ASP, pero si tengo experiencia con ASP.NET.
Y si bien lo de la session esta correcto, me parece bastante al gas tener que preguntar en todas las paginas si estas logueado o no.
La solucion que yo utilizo es Membership.
Muchachos... no es necesario reinverntar la rueda