Foros del Web » Programando para Internet » ASPX (.net) »

Expirar una Sesion en ASP.NET y C#

Estas en el tema de Expirar una Sesion en ASP.NET y C# en el foro de ASPX (.net) en Foros del Web. Hola, Tengo una aplicaión en .NET y por default con el timeout la sesión expira en 20 minutos, me gustaría hacerlo mediante código C# o ...
  #1 (permalink)  
Antiguo 07/04/2009, 07:40
Avatar de Bellabys  
Fecha de Ingreso: abril-2009
Mensajes: 70
Antigüedad: 15 años
Puntos: 1
Expirar una Sesion en ASP.NET y C#

Hola,

Tengo una aplicaión en .NET y por default con el timeout la sesión expira en 20 minutos, me gustaría hacerlo mediante código C# o de alguna manera para que al cumplirse esos 20 minutos aparezca un mensaje avísandole al usuario que el tiempo de la sesión se agotó.

Alguien tiene idea de cómo le puedo hacer?
  #2 (permalink)  
Antiguo 09/04/2009, 07:15
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 5 meses
Puntos: 19
Respuesta: Expirar una Sesion en ASP.NET y C#

Podes usar el "Session_End" del "Global.asax", eso te permite saber cuando caduco una sessión:
http://www.google.com.ar/search?hl=e...%3Dlang_es

Otra sería para averiguar si la sessión termino preguntas si el valor de la sección del esta nulo y listo, ya sabes que finalizo la sessión.

Acá otra forma es usando las propiedades del usuario si esas usando formauthentification:
http://www.dotnet247.com/247reference/msgs/6/30795.aspx
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #3 (permalink)  
Antiguo 20/04/2009, 14:02
Avatar de Bellabys  
Fecha de Ingreso: abril-2009
Mensajes: 70
Antigüedad: 15 años
Puntos: 1
Respuesta: Expirar una Sesion en ASP.NET y C#

Hola Hector gracias por responder, y sí en efecto utilicé el Global.asax y lo único que he logrado es sabes los usuarios que actualmente estan en línea.

Es el siguiente código:

void Application_Start(object sender, EventArgs e)
{
Application["activeApplications"] = 0;
Application["activeSessions"] = 0;

Application["activeApplications"] = (int)Application["activeApplications"] + 1;

}
void Session_End(object sender, EventArgs e)
{
Application["activeSessions"] = (int)Application["activeSessions"] - 1;

}

Pero no sé cómo redireccionar al usuario si ha expirado la sesion, podrías explicarme un poco más a detalle?
  #4 (permalink)  
Antiguo 20/04/2009, 14:43
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.692
Antigüedad: 23 años, 5 meses
Puntos: 19
Respuesta: Expirar una Sesion en ASP.NET y C#

Hola.
Disculpa la demora he estado sin internet.
Mira, creo que la mejor solución es que preguntes por el estado de tu variable de sessión.

Seguramente deberas tener en tu sitio un lugar donde se logea el usuario, en donde de alguna forma validas si es un usuario valido y entre otras cosas (si no lo tienes) agregas una variable de sessión en donde determinas que el usuario es valido algo como:

if(usuarioesCorrecto())
Session["usuarioValido"]="si";

Luego en el Page_Load de tus páginas preguntas si no está vacía tu variable:

if(Session["usuarioValido"]==null)
Response.Redirect("Login.aspx");

Es una forma facil y te resultara. Espero te sirva sino avisa.
__________________
PD: Con amor, fe, amor a Dios y amistad podemos hacer un mundo mejor!!!!
  #5 (permalink)  
Antiguo 21/04/2009, 12:39
Avatar de Bellabys  
Fecha de Ingreso: abril-2009
Mensajes: 70
Antigüedad: 15 años
Puntos: 1
Respuesta: Expirar una Sesion en ASP.NET y C#

Gracias Hector

Si el Usuario se logea y valido que sea un Usuario registrado.
si es registrado lo guardo en una variable de sesion y esa la
envío a la siguiente pag. Hasta aqui bien, pero ahora:

Si copio el Url y lo pego en otro explorador veo la pag con el
mismo ID de Sesion, y no puede quedar así pues no habría seguridad.

Tíenes alguna idea?
  #6 (permalink)  
Antiguo 21/04/2009, 13:00
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 8 meses
Puntos: 13
Respuesta: Expirar una Sesion en ASP.NET y C#

Fijate en el web.config en la parte cookieless="false", la tenes que tener en false ya que si la tenes en true te muestra en la url una serie de numeros y letras que indica el id de la sesion y si copias y pegas esto efectivamente no hay seguridad.

Al ponerlo en false esto no se muestra y al copiar la url no tiene el id de sesion.
__________________
Marcelo Davila.

:. En Ignorante te conviertes al no preguntar, el que pregunta se nutre... :.
  #7 (permalink)  
Antiguo 21/04/2009, 14:55
Avatar de Bellabys  
Fecha de Ingreso: abril-2009
Mensajes: 70
Antigüedad: 15 años
Puntos: 1
Respuesta: Expirar una Sesion en ASP.NET y C#

Gracias Marcelo!

Si en efecto en mi archivo de configuración tenía cookieless="true".
Lo he cambiado y se solucionó el problema.
  #8 (permalink)  
Antiguo 21/04/2009, 20:06
Avatar de mdavila  
Fecha de Ingreso: julio-2007
Ubicación: Montevideo (Uruguay)
Mensajes: 919
Antigüedad: 16 años, 8 meses
Puntos: 13
Respuesta: Expirar una Sesion en ASP.NET y C#

De nada, me alegro que te sirviera mi dato.

Saludos.
__________________
Marcelo Davila.

:. En Ignorante te conviertes al no preguntar, el que pregunta se nutre... :.
  #9 (permalink)  
Antiguo 29/04/2010, 10:32
 
Fecha de Ingreso: mayo-2005
Mensajes: 2
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: Expirar una Sesion en ASP.NET y C#

amigos, necesito ayuda...

tengo un login... en el cual cuando el usuario se logea, se crea un session("username")=username;

y redirecciono a una pagina el cual valida si session("username")!=null para seguir sino redirecciona a login

ahora el problema es el siguiente, dentro del sitio tengo 8 proyectos q estan en distintas carpetas, debo validar q en el caso q el usuario ingrese directamente a un aspx y no pase por el login debe redireccionar al login.... no se si se entiendo,

pero el error es el siguiente cuando me logeo y me pincho un link para ir a otra pagina el cual valido si logeo antes de pasar, siempre me devuelve al logeo, lo q quiere decir q la session = null aunque haya pasado por login

ahora como soluciono q me tome el valor de la sesion en los otros sitios??

gracias por su ayuda
  #10 (permalink)  
Antiguo 26/04/2012, 20:56
 
Fecha de Ingreso: abril-2012
Mensajes: 1
Antigüedad: 12 años
Puntos: 0
Respuesta: Expirar una Sesion en ASP.NET y C#

Buenos Dias a todos, bueno tengo este problema, cuando inicio sesion en la pagina que he creado y luego cierro sesion , puedo retroceder y ver la cecion iniciada.... como puedo hacer para que elimine los cookies haciendo que me derive a la pagina principal y no dandome opcion a retroceder....
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:55.