0

私は問題があります。Cookie を使用してカスタムの「Remember Me」機能を実行しました。

 HttpCookie rememberMeCookie = FormsAuthentication.GetAuthCookie(userName, rememberMe);
 if (rememberMe)
 {
     rememberMeCookie.Expires = Controller.LocalizationProvider.GetAdjustedServerTime().AddMonths(6);
 }

 HttpContext.Current.Response.Cookies.Add(rememberMeCookie);

Firefox の firecookies ツールに Cookie が表示されます。存在し、正しい有効期限があります。しかし、時間を変更すると、次の月に移動しました。その後、サイトに入り、ユーザーのログを解除しました。現在に戻ると、認証ユーザーになりました。

4

1 に答える 1

1

web.config のフォーム認証タイムアウトが干渉している可能性があります。MSDN のコメントは次のとおりです。

ASP.NET V1.1 では、タイムアウト属性の設定に関係なく、永続的な Cookie はタイムアウトしません。ただし、ASP.NET V2.0 の時点では、永続的な Cookie は timeout 属性に従ってタイムアウトします。

于 2011-03-25T01:44:58.397 に答える