[英]Laravel Auth::logout not removing remember me cookie
因此,我將會話的生命周期設置為兩周,這樣用戶就不必多次登錄或注銷。 但是今天我注意到了一些事情,如果您注銷它會破壞您的會話,但會在您的瀏覽器上保留記住我的 cookie。 這會導致問題,因為如果您在同一台計算機上切換帳戶 8-10 次,您會收到 400 bad request 錯誤,因為您發送的信息太多。 現在 8-10 次在一個 cookie 的正常生命周期中有點牽強,但是當你的生命周期是兩周時,我遇到了問題。
這是登錄和退出幾次背靠背時發生的情況的屏幕截圖。 用戶注銷時如何刪除生命周期 cookie? 到目前為止我已經嘗試過
Auth::logout();
Session::flush();
似乎 cookie 不會自動取消設置。 但是,您可以在注銷后返回重定向響應之前在控制器中執行此操作。
public function getLogout() {
// your code here
.....
// Get remember_me cookie name
$rememberMeCookie = Auth::getRecallerName();
// Tell Laravel to forget this cookie
$cookie = Cookie::forget($rememberMeCookie);
return Redirect::to('/')->withCookie($cookie);
}
只要記住用重定向返回cookie,否則它將不起作用。
就我而言,我需要傳遞所有參數,而不僅僅是名稱。
\Cookie::queue(\Cookie::forget('cookieName',null,'.yourdomain.com'));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.