Я новичок в Laravel и создал двух охранников: "user guard" (по умолчанию один) и "admin guard". И я сохраняю сеансы аутентификации в базе данных вместо файла.
Теперь проблема в том, что идентификатор пользователя вызывает конфликт в таблице сеансов. Например, если я создаю нового пользователя в таблице пользователей и новую учетную запись администратора в таблице администраторов, у обоих будет одинаковый идентификатор в таблице сеансов, и, поскольку идентификатор не уникален, он автоматически регистрирует меня в учетной записи администратора, даже если я просто вхожу как обычнопользователь.
Я уже искал в Google, но не смог найти ничего полезного. Только этот парень задал тот же вопрос, но не рабочий ответ: Многосессионные таблицы в Laravel
Вот мой код: config / auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'admins' => [
'driver' => 'eloquent',
'model' => App\Admin::class,
]
],
AdminLoginController.php
if (auth()->guard('admin')->attempt(['email' => $request->email, 'password' => $request->password])) {
$user = auth()->guard('admin')->user();
return redirect()->route('admin');
}