Dot-Net

使用 ASP.NET MVC 身份驗證的“記住我”不起作用

  • June 6, 2016

我有一個標準的 ASP.NET MVC(RC 刷新)Web 項目,具有標準的 ASP.NET 成員資格提供程序和項目模板中包含的帳戶控制器。

當我在登錄表單中選中“記住我”時,網站仍然沒有記住我。(Firefox 記住了我的使用者名和密碼,但我期望發生的是自動登錄)。

我必須手動設置和檢查 cookie 嗎?如果是這樣,最好怎麼做?

您需要將 true/false 傳遞給 SetAuthCookie 方法。

public ActionResult Login (string email, string password, bool rememberMe, string returnUrl)  
{

   // snip

   FormsAuth.SetAuthCookie(username, rememberMe); // <- true/false

   // snip
}

並確保它bool rememberMe反映了登錄頁面上複選框的狀態。

當選中“記住我”框時,您需要在處理登錄的控制器方法中生成一個持久 cookie。如果您正在使用RedirectFromLoginPage,請將 createPersistentCookie 參數設置為true

引用自:https://stackoverflow.com/questions/513949