• Viernes 29 de Marzo de 2024, 08:43

Autor Tema:  Gestión de Session y Cookies  (Leído 2301 veces)

calamidad

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Gestión de Session y Cookies
« en: Viernes 21 de Mayo de 2010, 12:39 »
0
Hola a todos,
soy nuevo en ASP .NET y estoy desarrollando una aplicación web que se conecte a una base de datos MySql. He conseguido autentificar a los usuarios, pero ahora quiero controlar las sesiones mediante Cookies y Session. Principalmente, pretendo controlar que ningún usuario acceda a cualquier página sin estar autentificado y que si pasa un tiempo determinado inactivo se cierre la sesión y tenga que volver a hacer login. De momento, he estado haciendo pruebas intentando controlar Session desde el Site.Master, pero no sé cómo trabajar con Cookies.

Mi web.config es el siguiente:

Código: XML
  1.  <authentication mode="Forms">
  2.       <forms name="iQCookie"
  3.             cookieless="UseCookies"
  4.             slidingExpiration="true"
  5.             timeout="3"
  6.             loginUrl="/Vistas/Account/LogOn.aspx"
  7.             requireSSL="false"/>
  8.     </authentication>
  9.  

Espero que puedan saber guiarme o poner algún código de ejemplo. Muchísimas gracias de antemano.  :good:

gerloxxx

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
Re: Gestión de Session y Cookies
« Respuesta #1 en: Martes 25 de Mayo de 2010, 01:19 »
0
Hola, te paso una alternativa a las variables de session:

puedes buscar en google acerca de: FormsAuthentication...

para darte una idea: despues de comprobar que el usuario y su contraseña es correcta (ya sea desde una base de datos, del Web.config o de donde sea).... creas un ticket para ese usuario:

Código: C#
  1.  
  2. FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, "nombre de usuario", DateTime.Now, DateTime.Now.AddMinutes(30), isPersistent, "informacion del usuario logueado***", FormsAuthentication.FormsCookiePath);
  3. //Luego encriptas el ticket
  4.  string encTicket = FormsAuthentication.Encrypt(ticket);
  5. // Creas la Cookie
  6. Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
  7. //y lo redireccionas
  8. Response.Redirect(FormsAuthentication.GetRedirectUrl(txtUsu.Text, true));
  9.  
  10.  

***Luego en otras páginas puedes preguntar acerca de la informacion que mandaste del usuario logueado

Código: C#
  1.  
  2. if (Context.User.Identity.Name ..........
  3.  
  4.  

por ultimo en el web.config le indicas que la autentificacion es por formas

Código: XML
  1.  
  2.     <authentication mode="Forms">
  3.      
  4.     </authentication>
  5.  
  6.  

claro existen varias formas de hacer esto, tambien puedes controlar el acceso de las páginas por medio de carpetas...

Código: XML
  1.  
  2. <location path="CarpetaARestringir">
  3.   <system.web>
  4.     <authorization>
  5.       <deny users ="?" />
  6.     </authorization>
  7.   </system.web>
  8. </location>
  9.  
  10.  

Saludos

calamidad

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Gestión de Session y Cookies
« Respuesta #2 en: Martes 25 de Mayo de 2010, 13:44 »
0
Muchísimas gracias me ha servido de mucha ayuda.

Un saludo!