Principales respuestas
usar session para restringir acceso

Pregunta
-
hola q tal mi pregunta es como puedo usar session u otro bjeto para restringir el acceso a ciertos lugares d mi pag q no son para cualkier usuario, io primero tengo una tabla de usuarios con el login y un pass encriptado y el tipo d usuario q es, la comparacion del tipo d usuario y pass si la hac, pero si digamos q tengo una estructura raiz>login>pagina1>pagina2>pagina3 e ingresando dorectament la direccion de la pagina 3 accedo a ella sin pasar por el login, eso como c podria evitar con session o d q forma seria¿¿¿¿
apreciaria muxo su ayuda d antemano gracias
Respuestas
-
Hola crisevil,
pues lo que estás buscando es lo que se llama ASP.NET Authentication.
Basicamente, si ya dispones de una base de datos para gestionar los usuarios, debes crearte una clase que herede de MembershipProvider.
Con esta clase (y configurando correctamente el archivo web.config) podrás restringir el acceso a tus páginas.
Esto que te cuento es resumido.
Mírate estos links que te darán toda la información:
http://support.microsoft.com/default.aspx/kb/301240/es
http://www.elguille.info/NET/ASPNET/tutorialLogin/tutorialLogin.htm
http://support.microsoft.com/kb/306590/es
http://www.programacion.com/asp/articulo/aspnet_authform/
En caso de que la respuesta te sirva, porfavor, márcala como válida
Muchas gracias y suerte!
Javier Jiménez Roda
MCP (Microsoft Certified Professional)
MCTS (Microsoft Certified Technology Specialist)
MCPD (Microsoft Certified Professional Developer)
Blog: http://jimenezroda.wordpress.com
- Propuesto como respuesta Javier Jiménez Roda martes, 4 de agosto de 2009 7:54
- Marcado como respuesta crisevil martes, 4 de agosto de 2009 14:34
Todas las respuestas
-
Hola crisevil,
pues lo que estás buscando es lo que se llama ASP.NET Authentication.
Basicamente, si ya dispones de una base de datos para gestionar los usuarios, debes crearte una clase que herede de MembershipProvider.
Con esta clase (y configurando correctamente el archivo web.config) podrás restringir el acceso a tus páginas.
Esto que te cuento es resumido.
Mírate estos links que te darán toda la información:
http://support.microsoft.com/default.aspx/kb/301240/es
http://www.elguille.info/NET/ASPNET/tutorialLogin/tutorialLogin.htm
http://support.microsoft.com/kb/306590/es
http://www.programacion.com/asp/articulo/aspnet_authform/
En caso de que la respuesta te sirva, porfavor, márcala como válida
Muchas gracias y suerte!
Javier Jiménez Roda
MCP (Microsoft Certified Professional)
MCTS (Microsoft Certified Technology Specialist)
MCPD (Microsoft Certified Professional Developer)
Blog: http://jimenezroda.wordpress.com
- Propuesto como respuesta Javier Jiménez Roda martes, 4 de agosto de 2009 7:54
- Marcado como respuesta crisevil martes, 4 de agosto de 2009 14:34
-
Hola de nuevo,
intentaré responderte más ampliamente.
En ASP.NET existen tres formas de autenticación:
- Forms atuthentication: Validamos al usuario mediante username y password que tenemos almacenados en algun origen de datos (base de datos, archivo de texto, archivo xml, webservice...)
- Windows authentication: validamos al usuario mediante las credenciales que presenta como usuario de windows. El usuario debe estar dado de alta en el mismo dominio o grupo de trabajo que el servidor.
- Passport: utilizas la cuenta en windows live para identifcar al usuario.
Cualquiera de estas opciones debes configurarlas en el archivo web.config. Por ejemplo, para configurar la autenticación por formularios sería algo así:
<authentication mode="Forms"> <forms loginUrl="login.aspx" timeout="20"> </forms> </authentication>
Además, si utilizas tu propia base de datos (no la que puedes generar con asp.net mediante el comando aspnet_regsql ) entonces debes, como dije antes, derivar o heredar tu clase de MembershipProvider y configurar el proveedor en el web.config tal que así:
<system.web> <membership defaultProvider="nombreproveedorPorDefecto"> <providers> <add name="nombreproveedor" type="my.dominio.mi.clase"/> </providers> </membership> </system.web>
Y bueno, deberías comenzar por aquí...espero haberte ayudado un poco. Cualquier duda aqui estamos entre todos para ayudarnos!
En caso de que la respuesta te sirva, porfavor, márcala como válida
Muchas gracias y suerte!
Javier Jiménez Roda
MCP (Microsoft Certified Professional)
MCTS (Microsoft Certified Technology Specialist)
MCPD (Microsoft Certified Professional Developer)
Blog: http://jimenezroda.wordpress.com- Propuesto como respuesta Javier Jiménez Roda martes, 4 de agosto de 2009 7:55