2 votes

Comment définir de manière programmatique la valeur " SlidingExpiration " dans une application mvc ?

J'ai une application MVC 3 avec un formulaire d'authentification. Lorsque l'utilisateur coche la case "se souvenir de moi", le cookie d'authentification doit être fixé à 2 semaines, et lorsqu'il ne le fait pas, il doit être fixé à 30 minutes. Dans les deux cas, l'expiration glissante doit être activée. D'après ce poste J'ai créé la méthode suivante, qui crée un cookie d'authentification personnalisé :

FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
            1,  //version
            username,
            DateTime.Now, //issue date
            rememberMe ? DateTime.Now.AddDays(14) : DateTime.Now.AddMinutes(30), // exprie date
            rememberMe, // is persistent
            null
            );
        var ecnryptedTicket = FormsAuthentication.Encrypt(ticket);
        HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, ecnryptedTicket);

        cookie.Expires = ticket.Expiration; // to expire cookie together with ticket

        response.Cookies.Add(cookie);

Comment puis-je programmer l'expiration du glissement après cela ?

0voto

user101720 Points 11

Cela fait longtemps que cette question n'a pas été posée, mais je suis tombé dessus en cherchant autre chose. Si vous voulez utiliser un mode mixte comme celui-là, vous pouvez vous débrouiller avec quelque chose comme ceci :

http://cbertolasio.wordpress.com/2010/11/28/dealing-with-idle-clients-and-expiring-sessions-in-asp-net-mvc/

Et lorsque le battement de cœur est envoyé par le plugin, prolongez le ticket si nécessaire. J'ai l'impression que l'expiration du ticket est une option tout ou rien.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X