Я создаю приложение, похожее на приложение чата.Проверка того, что «другие» пользователи вошли в систему/вошли в систему, используя Laravel 5
Я хочу, чтобы узнать, вошел ли пользователь в систему или нет.
То, как я это делаю, имеет поле is_logged_in
в таблице users
.
Однако я не уверен, как обновить эту переменную, так как я не знаю, какой метод вызывается во время 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
не являются методы, которые работают, когда пользователь на самом деле входит в систему и выхода из системы, но я не уверен, куда поставить логику.
Спасибо за помощь!
ОБНОВЛЕНИЕ Это маршруты для аутентификации.
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');
EDIT Я знаю, что я могу проверить, если текущий пользователь проходит проверку подлинности с помощью:
Auth::check()
Однако это не поможет определить, если другие пользователи вошли в систему или не
Вы можете использовать Session :: набор() и Session :: получить() методы для обработки login.And наконец можно использовать метод Session :: вровень() в Laravel для выхода из системы. – CodeCanyon
Я думаю, что это плохое решение по сравнению с моим, так как существует много логики в признаке аутентификации, который не запускается. Кроме того, это намного сложнее по сравнению с использованием событий! –