Метод guard
Метод guard класса Auth позволяет получить конкретный экземпляр охранника аутентификации по его имени. В качестве первого параметра передаётся строка с именем охранника. Если имя не указано, возвращается охранник, установленный по умолчанию в конфигурационном файле config/auth.php. Метод возвращает экземпляр класса, реализующего интерфейс Guard, который предоставляет методы для работы с аутентификацией пользователей.
Синтаксис
<?php
use Illuminate\Support\Facades\Auth;
Auth::guard($name);
?>
Пример
Давайте получим охранника 'web', который используется для стандартной веб-аутентификации, и проверим, авторизован ли текущий пользователь:
<?php
use Illuminate\Support\Facades\Auth;
$guard = Auth::guard('web');
if ($guard->check()) {
echo "User is authenticated";
} else {
echo "User is not authenticated";
}
?>
Результат выполнения кода:
"User is authenticated"
Пример
Давайте получим охранника по умолчанию и получим данные текущего пользователя:
<?php
use Illuminate\Support\Facades\Auth;
$guard = Auth::guard();
$user = $guard->user();
if ($user) {
echo $user->name;
echo $user->email;
} else {
echo "No user found";
}
?>
Результат выполнения кода:
"John Doe"
"john@example.com"
Пример
Давайте получим охранника 'api', который используется для API-аутентификации, и проверим, является ли пользователь гостем:
<?php
use Illuminate\Support\Facades\Auth;
$guard = Auth::guard('api');
if ($guard->guest()) {
echo "User is guest";
} else {
echo "User is logged in";
}
?>
Результат выполнения кода:
"User is guest"