Asp, login

Te dejo mi consulta.
Tengo en claro como hacer un login mediante asp, ya sea comparando los datos con los de la página asp o bien accediendo a una DB, de cualquiera de las 2 maneras esto me deja que la persona correctamente logueada acceda a "informacion" segura dentro de la misma página y no es lo que busco.
Lo que estoy intentando hacer es una página home que muestre todo el contenido, donde te permita loguearte si quieres (no es necesario) y seguir navegando tranquilo, y cuando el usuario quiera acceder a alguna página privada cualquiera (catálogos, listas de precios, páginas confidenciales, etc.) tome el password y usuario ingresado en la home.
Aclaro que el cuadro de logueo va estar en todas las páginas de la web ya que sera parte del "encabezado" de la misma.
En resumen, necesito que la página se pueda navegar sin necesidad de usar user y pass, pero llegada la hora de querer a acceder a algún lugar privado, si la persona no se logueo, no se lo permita, y una vez que ya esta logueado, le permita el acceso a todos los recursos del web.
Creo que esto se podría hacer guardando los datos de user y pass en "algún lado" y cuando se intente acceder a alguna página privada, se comparen estos datos con los de una DB, si coinciden se le permite el ingreso, si no, se lo denegá.
EL tema es ese "algún lado" donde guardar las variables que sea accesible desde cualquier punto en el sitio. Ese algún lado también debería caducar al salir del sitio o al cerrar el browser.
Tambien me gustaria usar cookies que caduquen a la semana donde se guarde el user y pass, asi esa persona si ingresa en la misma semana no es necesario que se loguee, pero ese ya es otro tema.
1

1 respuesta

Respuesta
1
Para hacer lo que quieres te recomiendo lo siguiente: cuando la persona meta login y password, compruebas sus datos contra la BD y en caso de ser correcto, guardas una variable en session que diga que el usuario ha hecho login correctamente:
session("registrado")="si
Después, en todas las páginas privadas, compruebas al principio si el usuario ha hecho login
if (session("registrado")="si) then ...
Y en caso negativo le mandas a algún sitio (una página de error o una de logon).
Lo de guardar la pass en una cookie no te lo recomiendo. Puede suponer un problema de seguridad. Mejor que haga login siempre.
Excelente respuesta, sigo consultando.
A ver si entendí: Suponiendo que el usuario se loguee y el user y pass sea correcto la página (en este caso la home) debería mantenerse igual, excepto que al comprobar si los datos son correctos debería agregar la linea
session("registrado")="si al código asp.
¿Este dato de correcto login quedaría disponible para cualquier parte del site hasta que se cierre el explorador o cambie de página?
Donde concretamente tendría que agregar la linea
session("registrado")="si
?
De nuevo, gracias
En algún punto de alguna página, harás una conexión con la base de datos (o con algún otro sitio) y comprobaras si los datos son o no correctos. En ese momento, si los datos son los adecuados, es donde tienes que guardar en la session el dato de registrado =si.
Esa variable de session estará disponible en todas las páginas del site y durante el tiempo que el usuario permanezca dentro de tu aplicación (tienen un tiempo de caducidad, de modo que si el usuario no carga ninguna página durante dicho tiempo la variable muere).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas