2 回答

TA貢獻1777條經驗 獲得超3個贊
Laravel UI 包會處理它。但是,如果您更改登錄查看您并添加您自己的記住我復選框,您必須注意此復選框具有 name="remember" 因為 LoginController 使用檢查輸入“remember”而不是“remember_me”的特征或其他東西。
此外,我對記住我的功能是錯誤的:記住我意味著如果會話超時你仍然保持登錄狀態。laravel 會話在 2 小時后超時。要快速測試您的記住我復選框是否有效,您可以將 .env 文件設置更改為 SESSION_LIFETIME=1 而不是 SESSION_LIFETIME=120 并在選中記住我復選框的情況下登錄到您的頁面。等待一分鐘以上的時間,然后關閉瀏覽器窗口。如果您隨后使用相同的瀏覽器再次訪問您的網站并登錄(即使會話超時),您將被記住。
記住我并不意味著,當您關閉瀏覽器窗口并再次訪問該站點并在會話生命周期內自動登錄時,您會被記住。記住我只有在會話生命周期結束時!
我知道我在回答我自己的問題,希望它能幫助遇到同樣問題的人。如果我仍然有問題,請告訴我。

TA貢獻1802條經驗 獲得超6個贊
請記住用戶不是默認值。
文檔說:
如果您想在您的應用程序中提供“記住我”功能,您可以將布爾值作為第二個參數傳遞給 attempt 方法,這將無限期地保持用戶身份驗證,或者直到他們手動注銷。當然,您的用戶表必須包含字符串 remember_token 列,該列將用于存儲“記住我”令牌。
if (Auth::attempt(['email' => $email, 'password' => $password], $remember)) { // 正在記住用戶... }
當您的用戶登錄時,只需發送“記住我”復選框的值并在您的嘗試方法中使用它。
if (Auth::attempt(['email' => $email, 'password' => $password], USE VALUE FROM CHECKBOX HERE)) {
// The user is being remembered...
}
- 2 回答
- 0 關注
- 210 瀏覽
添加回答
舉報