簡體   English   中英

用戶登錄不被記住

[英]user login not being remembered

您好,由於某些原因,幾分鍾后用戶將自動注銷。

我無法確定要多長時間-也許十分鍾。 基本上,如果我登錄,關閉瀏覽器並重新打開我的網站,則我仍然登錄。但是,如果我關閉並在十分鍾后返回到它,則需要我重新登錄。 這是從我的網絡配置:

<authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="1440" slidingExpiration="true" />
    </authentication>

當用戶登錄時執行:

  private void CreateAuthTicket(string userName, bool rememberMe, string userData)
     {
        FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(
1,userName,DateTime.Now,DateTime.Now.AddDays(1),rememberMe,userData);

         string encTicket = FormsAuthentication.Encrypt(authTicket);
         HttpCookie faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
         Response.Cookies.Add(faCookie);
      }
if(rememberMe) {
  faCookie.Expires(DateTime.Now.AddDays(5)); //or something else here
}

IIS中的會話cookie上有一個超時設置。 可能是因為這導致您的會話過期。

默認情況下,MVC中的“記住我”功能應創建一個持久性cookie。

可以在瀏覽器中禁用Cookies,也可以對其進行檢查

如果更改Cookie期限對您不起作用。 您可能需要為您的站點生成一個機器密鑰。 這樣就解決了過去的“記住我”問題。

機器密鑰生成器

是本地環境還是托管環境? 共享主機提供商有時會將其生命周期設置得很短,以定期釋放資源。 如果僅在部署站點時發生這種情況,最好與提供商聯系以了解其設置。 我曾經有一個托管人,將其壽命設置為5分鍾(!!),這引起了類似的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM