2

認証フォームを含む MVC 3 アプリケーションがあります。ユーザーが「remember me」チェックボックスをオンにした場合、認証 Cookie は 2 週間に設定する必要があり、そうでない場合は 30 分に設定する必要があります。どちらの場合も、スライド有効期限をオンにする必要があります。この投稿によると、カスタム認証 Cookie を作成する次のメソッドを作成しました。

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);

その後、プログラムでスライド有効期限を設定するにはどうすればよいですか?

4

1 に答える 1

0

これが尋ねられてからしばらく経ちましたが、他のことを調べているときにこれに出くわしました。そのような混合モードを実行したい場合は、次のようなもので独自にロールすることをお勧めします:

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

プラグインからハートビートが送信されたら、必要に応じてチケットを拡張します。スライド有効期限は、オールオアナッシングのオプションだと感じています。

于 2013-07-12T01:26:03.497 に答える