2015-05-26 21 views
7

Vì vậy, tôi có toàn bộ thời gian của phiên được đặt thành hai tuần để người dùng không phải đăng nhập hoặc đăng xuất nhiều lần. Tuy nhiên hôm nay tôi nhận thấy một cái gì đó, nếu bạn đăng xuất nó phá hủy phiên của bạn nhưng giữ cho tôi nhớ cookie trên trình duyệt của bạn. Điều này gây ra vấn đề bởi vì nếu bạn chuyển đổi tài khoản đủ trên cùng một máy tính 8-10 lần bạn nhận được một lỗi yêu cầu 400 xấu vì bạn đang gửi quá nhiều thông tin. bây giờ 8-10 lần trong một cuộc đời bình thường của một cookie là loại xa vời nhưng khi cuộc đời của bạn là hai tuần, tôi đã chạy vào các vấn đề.Laravel Auth :: đăng xuất không xóa cookie của tôi

Đây là ảnh chụp màn hình về những gì đang xảy ra khi đăng nhập và đăng xuất một vài lần trở lại. enter image description here Làm cách nào để xóa cookie lâu dài khi người dùng đăng xuất? Cho đến nay tôi đã thử

Auth::logout(); 
    Session::flush(); 

Trả lời

2

Dường như cookie không được bỏ đặt tự động. Tuy nhiên, bạn có thể thực hiện việc này trong bộ điều khiển ngay trước khi bạn trả lại phản hồi chuyển hướng sau khi đăng xuất.

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); 
} 

Chỉ cần nhớ truyền lại cookie có chuyển hướng, nếu không nó sẽ không hoạt động.

+0

Điều này có vẻ như những gì đang xảy ra tuy nhiên ngay cả với sao chép mã của bạn trực tiếp nó không hoạt động. Người dùng đã đăng xuất và tôi trả lại giá trị trong chuyển hướng nhưng tôi vẫn gặp vấn đề tương tự với nhiều cookie chồng chất cho đến khi tôi gặp sự cố – CMOS

Các vấn đề liên quan