我正在創建類似於聊天應用程序的應用程序。使用Laravel 5檢查「其他」用戶是否已登錄/註銷
我希望能夠確定用戶是否登錄。
我這樣做的方法是在users
表中有is_logged_in
字段。
但是我不確定如何更新這個變量,因爲我不知道在logout
期間調用了什麼方法。
我相信它會是這樣的:
class AuthController extends Controller
{
//...
public function login($user)
{
$user->is_logged_in = true;
$user->save();
}
public function logout($user)
{
$user->is_logged_in = false;
$user->save();
}
//...
}
當然的login
和logout
並不運行在用戶實際登錄和註銷的方法,但我不能確定在何處把邏輯。
感謝您的幫助!
UPDATE 這些是認證的路由。
Route::get('login', 'Auth\[email protected]')->name('login');
Route::post('login', 'Auth\[email protected]')->name('postLogin');
Route::get('logout', 'Auth\[email protected]')->name('logout');
Route::get('register', 'Auth\[email protected]')->name('register');
Route::post('register', 'Auth\[email protected]')->name('postRegister');
編輯 我知道我可以檢查當前用戶使用認證:
Auth::check()
然而,這並不能幫助確定是否其他用戶登錄或不
您可以使用Session ::集()和會話::得到()方法來最終處理login.And可以使用會話:: flush()方法在Laravel註銷用戶。 – CodeCanyon
我認爲與我的相比,這是一個糟糕的解決方案,因爲身份驗證特徵中有很多邏輯無法運行。與使用事件相比,它更復雜! –