В Laravel, guard - это система аутентификации, которая определяет, какие пользователи имеют доступ к различным ресурсам вашего приложения. Каждый guard имеет свои настройки и драйверы аутентификации.
Чтобы определить, какой guard используется в текущей сессии, вы можете воспользоваться методом guard()
из фасада Auth
.
Вот пример:
use IlluminateSupportFacadesAuth; $guard = Auth::guard(); // Получаем guard в текущей сессии $guardName = $guard->getName(); // Получаем название guard if ($guardName === 'web') { // Guard 'web' используется в текущей сессии // Ваш код здесь } elseif ($guardName === 'api') { // Guard 'api' используется в текущей сессии // Ваш код здесь } else { // Ни один из заданных guard не используется в текущей сессии // Ваш код здесь }
Метод getName()
возвращает название guard, который используется в текущей сессии. В приведенном выше примере мы проверяем название guard и выполняем соответствующий код в зависимости от результата.
Вы также можете использовать метаполя guard
в вашей модели пользователя, чтобы определить, какой guard был использован при аутентификации пользователя. Например:
$user = Auth::user(); $guardName = $user->guard_name; if ($guardName === 'web') { // Пользователь был аутентифицирован с помощью guard 'web' } elseif ($guardName === 'api') { // Пользователь был аутентифицирован с помощью guard 'api' } else { // Пользователь был аутентифицирован с помощью другого guard }
В этом примере мы получаем текущего пользователя с помощью метода user()
из фасада Auth
, а затем проверяем значение метаполя guard_name
в модели пользователя. Это метаполе можно настроить в вашей модели пользователя, чтобы сохранять информацию о guard, используемом при аутентификации.