Код: Выделить всё
$user = User::where([
'email' => $request->username,
'password' => md5($request->password)
])->first();
if ($user) {
Auth::guard('someguard')->login($user, true);
return redirect()->route('some-route');
}
Код: Выделить всё
if (!Auth::guard('someguard')->check())
return redirect()->to('some-route-a');
Но когда код был запущен на сервере (Linux), для входа в систему MD5 проверьте( ) в промежуточном программном обеспечении вернет false. Тем не менее, когда я попытался напечатать результат check() в LoginController, он все равно вернул true.
Затем из любопытства я попробовал чтобы изменить пароль в таблице пользователей в базе данных на хешированный bcrypt и войти в систему, используя это:
Код: Выделить всё
if (Auth::guard('someguard')->attempt(['email' => $request->username, 'password' => $request->password]))
Теперь есть другая база данных для другой веб-сайт со своей собственной таблицей пользователей, где пароль хранится с использованием bcrypt. Что меня смущает, так это то, что когда я использовал эту таблицу, попытки() и check() работали нормально как на локальном, так и на сервере.
Я использовал PHP 8.3. .12 и 8.3.8, и результаты для всех одинаковы.
Есть идеи, почему на сервере ничего не помогло для первой таблицы?
Подробнее здесь: https://stackoverflow.com/questions/790 ... tain-table
Мобильная версия