none
Variable que perdure más que Session RRS feed

  • Pregunta

  • Buenas,

    Tengo una aplicación MVC5 la cual no tiene un Login como tal sino que se les envía cada grupo de usuario un url que contiene un queryString dependiedo del grupo al que pertencen. Algo así:

    https://dominio/Login?Grupo=U

    https://dominio/Login?Grupo=E

    Esto es así proque cada grupo está en BD distintas y con eso la aplicación sabrá a qué Base consultar.

    Cuando expire la sesión de algún usuario de un determinado grupo la aplicación debe retornar al Login del grupo que le corresponde.

    Lo que estoy haciendo es una vez que hago la autenticación guardo el QueryString Grupo en una variable Session. El problema que tengo es que cuando expiran dichas variables ya no tengo a dónde recurrir para obtener dicho dato.

    ¿Qué otra alternativa me recomiendan utilizar?

    Saludos.

    viernes, 21 de agosto de 2020 13:25

Respuestas

  • hola

    >>Cuando expire la sesión de algún usuario de un determinado grupo la aplicación debe retornar al Login del grupo que le corresponde.

    Pero si al principio mencionaste que no tienes un login, a que login quieres retornar?

    >>guardo el QueryString Grupo en una variable Session

    y si usas una cookie? a esta puedes darle mucho mas tiempo de expiracion de varios dias

    Asi dejas de guardar datos en variables del servidor y la obtienes desde una cookie que envie el cliente con ese grupo

    Ademas en caso de por algun razon perdiera el dato podrias validarlo y simplemente informarlo al usuario para que le envien la url nuevamente

    Tambien se le deberi indicar que la ingrese nuevamente usando el link original

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta eduar2083 martes, 25 de agosto de 2020 13:01
    lunes, 24 de agosto de 2020 3:42

Todas las respuestas

  • Hola  eduar2083

      

    El problema que tienes es que cuando expira la sesion no retorna al url que quieres?

    Tambien dices que no tienes login pero que despues quieres retornar al login entonces cada uno tiene un login especifico en cada url? 

      

    Gracias por usar los foros de MSDN. 

      

    Andres Aguilar

      

     ____________________________ 

      

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN sientase en la libertad de contactar  MSDNFSF@microsoft.com. 

    viernes, 21 de agosto de 2020 15:15
  • Podrías usar una cookie.

    Piensa en cómo funciona la sesión: Lo que hace internamente ASP.NET es generar al azar un identificador de sesión, y lo envía al navegador en una cookie volátil (que se borra al cerrar el navegador). Internamente mantiene en memoria una tabla que mapea ese identificador con los datos de sesión de ese usuario. Cuando caduca la sesión, esa tabla se borra.

    Pues bien, en lugar de usar esa tabla interna de asp.net, podrías usar una tabla hecha por ti para este fin, y si quieres puedes persistirla en base de datos para que no se pierda si la aplicación se reinicia. Las entradas de esa tabla las mapeas al usuario basándote en el contenido de tu cookie. Pero si solo vas a guardar la URL, no hace falta usar una tabla, puedes guardar la Url directamente en la cookie.

    sábado, 22 de agosto de 2020 6:11
  • hola

    >>Cuando expire la sesión de algún usuario de un determinado grupo la aplicación debe retornar al Login del grupo que le corresponde.

    Pero si al principio mencionaste que no tienes un login, a que login quieres retornar?

    >>guardo el QueryString Grupo en una variable Session

    y si usas una cookie? a esta puedes darle mucho mas tiempo de expiracion de varios dias

    Asi dejas de guardar datos en variables del servidor y la obtienes desde una cookie que envie el cliente con ese grupo

    Ademas en caso de por algun razon perdiera el dato podrias validarlo y simplemente informarlo al usuario para que le envien la url nuevamente

    Tambien se le deberi indicar que la ingrese nuevamente usando el link original

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta eduar2083 martes, 25 de agosto de 2020 13:01
    lunes, 24 de agosto de 2020 3:42
  • Gracias a todos por responder.

    Quise decir que la aplicación no tiene un Login predeterminado, ya que este es a demanda. He podido resolverlo con la cookie, he guardado la queryString directamente como dato de la cookie, le puse un día de expiración y resuelto.

    Gracias.

    martes, 25 de agosto de 2020 13:01