SessionGuard
класс SessionGuard реализует StatefulGuard, SupportsBasicAuth (Просмотреть исходный код)
Свойства
| GuardHelpers | Эти методы, как правило, одинаковы для всех охранников. |
| Macroable |
Свойства
| protected Authenticatable|null | $user | Текущий аутентифицированный пользователь. | из GuardHelpers |
| protected UserProvider | $provider | Реализация поставщика пользователей. | из GuardHelpers |
| static protected array | $macros | Зарегистрированные строковые макросы. | из Macroable |
| string | $name | Имя охранника. Обычно "web". | |
| protected Authenticatable | $lastAttempted | Пользователь, которого мы в последний раз пытались получить. | |
| protected bool | $viaRemember | Указывает, был ли пользователь аутентифицирован с помощью куки-файла запоминания. | |
| protected int | $rememberDuration | Количество минут, в течение которых должен действовать куки-файл "запомнить меня". | |
| protected Session | $session | Сессия, используемая охранником. | |
| protected QueueingFactory | $cookie | Сервис создания куки-файлов Illuminate. | |
| protected Request | $request | Экземпляр запроса. | |
| protected Dispatcher | $events | Экземпляр диспетчера событий. | |
| protected Timebox | $timebox | Экземпляр Timebox. | |
| protected bool | $rehashOnLogin | Указывает, следует ли перехешировать пароли при входе в систему, если это необходимо. | |
| protected bool | $loggedOut | Указывает, был ли вызван метод выхода из системы. | |
| protected bool | $recallAttempted | Указывает, была ли предпринята попытка извлечения пользователя по токену. |
Методы
| Authenticatable | authenticate()
Определить, авторизован ли текущий пользователь. В противном случае выбросить исключение. | from GuardHelpers |
| bool | hasUser()
Определить, содержит ли страж экземпляр пользователя. | from GuardHelpers |
| bool | check()
Определить, авторизован ли текущий пользователь. | from GuardHelpers |
| bool | guest()
Определить, является ли текущий пользователь гостем. | from GuardHelpers |
| int|string|null | id()
Получить ID текущего авторизованного пользователя. | |
| $this | setUser(Authenticatable $user)
Установить текущего пользователя. | |
| $this | forgetUser()
Забыть текущего пользователя. | from GuardHelpers |
| UserProvider | getProvider()
Получить поставщика пользователей, используемого стражем. | from GuardHelpers |
| void | setProvider(UserProvider $provider)
Установить поставщика пользователей, используемого стражем. | from GuardHelpers |
| static void | macro(string $name, object|callable $macro)
Зарегистрировать пользовательское макрос. | from Macroable |
| static void | mixin(object $mixin, bool $replace = true)
Добавить другой объект в класс. | from Macroable |
| static bool | hasMacro(string $name)
Проверяет, зарегистрировано ли макрос. | from Macroable |
| static void | flushMacros()
Очистить существующие макросы. | from Macroable |
| static mixed | __callStatic(string $method, array $parameters)
Динамически обрабатывать вызовы класса. | from Macroable |
| mixed | __call(string $method, array $parameters)
Динамически обрабатывать вызовы класса. | from Macroable |
| void | __construct(string $name, UserProvider $provider, Session $session, Request|null $request = null, Timebox|null $timebox = null, bool $rehashOnLogin = true)
Создать новый страж аутентификации. | |
| Authenticatable|null | user()
Получить текущего авторизованного пользователя. | |
| mixed | userFromRecaller(Recaller $recaller)
Извлечь пользователя из репозитория по токену куки «запомнить меня». | |
| Recaller|null | recaller()
Получить расшифрованный куки recaller для запроса. | |
| bool | once(array $credentials = [])
Войти в систему пользователю в приложении без сессий или куки. | |
| Authenticatable|false | onceUsingId(mixed $id)
Войти в систему с заданным ID пользователя в приложении без сессий или куки. | |
| bool | validate(array $credentials = [])
Проверить учетные данные пользователя. | |
| Response|null | basic(string $field = 'email', array $extraConditions = [])
Попытка аутентификации с помощью HTTP Basic Auth. | |
| Response|null | onceBasic(string $field = 'email', array $extraConditions = [])
Выполнение попытки входа в HTTP Basic без состояния. | |
| bool | attemptBasic(Request $request, string $field, array $extraConditions = [])
Попытка аутентификации с помощью базовой аутентификации. | |
| array | basicCredentials(Request $request, string $field)
Получить массив учетных данных для запроса HTTP Basic. | |
| void | failedBasicResponse()
Получить ответ для базовой аутентификации. | |
| bool | attempt(array $credentials = [], bool $remember = false)
Попытка аутентификации пользователя с заданными учетными данными. | |
| bool | attemptWhen(array $credentials = [], array|callable|null $callbacks = null, bool $remember = false)
Попытка аутентификации пользователя с учетными данными и дополнительными обратными вызовами. | |
| bool | hasValidCredentials(mixed $user, array $credentials)
Определить, соответствует ли пользователь учетным данным. | |
| bool | shouldLogin(array|callable|null $callbacks, Authenticatable $user)
Определить, должен ли пользователь войти в систему, выполняя заданные обратные вызовы. | |
| void | rehashPasswordIfRequired(Authenticatable $user, array $credentials)
Перехэшировать пароль пользователя, если это разрешено и необходимо. | |
| Authenticatable|false | loginUsingId(mixed $id, bool $remember = false)
Войти в систему с заданным ID пользователя в приложении. | |
| void | login(Authenticatable $user, bool $remember = false)
Войти в систему пользователю в приложении. | |
| void | updateSession(string $id)
Обновить сессию с заданным ID. | |
| void | ensureRememberTokenIsSet(Authenticatable $user)
Создать новый токен «запомнить меня» для пользователя, если он еще не существует. |
| void | queueRecallerCookie(Authenticatable $user)
Очередь куки recaller в cookie-контейнер. | |
| Cookie | createRecaller(string $value)
Создать cookie "запомнить меня" для данного ID. | |
| void | logout()
Вывести пользователя из приложения. | |
| void | logoutCurrentDevice()
Вывести пользователя из приложения только на текущем устройстве. | |
| void | clearUserDataFromStorage()
Удалить данные пользователя из сессии и куки. | |
| void | cycleRememberToken(Authenticatable $user)
Обновить токен "запомнить меня" для пользователя. | |
| Authenticatable|null | logoutOtherDevices(string $password)
Удалить другие сессии для текущего пользователя. | |
| Authenticatable|null | rehashUserPasswordForDeviceLogout(string $password)
Перехешировать пароль текущего пользователя для выхода из других устройств через AuthenticateSession. | |
| void | attempting(mixed $callback)
Зарегистрировать слушатель событий попытки аутентификации. | |
| void | fireAttemptEvent(array $credentials, bool $remember = false)
Вызвать событие попытки с переданными аргументами. | |
| void | fireValidatedEvent(Authenticatable $user)
Вызывает событие валидации, если диспетчер установлен. | |
| void | fireLoginEvent(Authenticatable $user, bool $remember = false)
Вызвать событие входа, если диспетчер установлен. | |
| void | fireAuthenticatedEvent(Authenticatable $user)
Вызвать событие аутентификации, если диспетчер установлен. | |
| void | fireOtherDeviceLogoutEvent(Authenticatable $user)
Вызвать событие выхода из других устройств, если диспетчер установлен. | |
| void | fireFailedEvent(Authenticatable|null $user, array $credentials)
Вызвать событие неудачной попытки аутентификации с указанными аргументами. | |
| Authenticatable | getLastAttempted()
Получить последнего пользователя, для которого пытались выполнить аутентификацию. | |
| string | getName()
Получить уникальный идентификатор для значения сессии аутентификации. | |
| string | getRecallerName()
Получить имя куки, используемой для хранения "recaller". | |
| bool | viaRemember()
Определить, был ли пользователь аутентифицирован с помощью куки "запомнить меня". | |
| int | getRememberDuration()
Получить количество минут, в течение которых куки "запомнить меня" должна быть действительной. | |
| $this | setRememberDuration(int $minutes)
Установить количество минут, в течение которых куки "запомнить меня" должна быть действительной. | |
| QueueingFactory | getCookieJar()
Получить экземпляр создателя куки, используемый стражем. | |
| void | setCookieJar(QueueingFactory $cookie)
Установить экземпляр создателя куки, используемый стражем. | |
| Dispatcher | getDispatcher()
Получить экземпляр диспетчера событий. | |
| void | setDispatcher(Dispatcher $events)
Установить экземпляр диспетчера событий. | |
| Session | getSession()
Получить хранилище сессии, используемое стражем. | |
| Authenticatable|null | getUser()
Возвратить текущего кэшированного пользователя. | |
| Request | getRequest()
Получить текущий экземпляр запроса. | |
| $this | setRequest(Request $request)
Установить текущий экземпляр запроса. | |
| Timebox | getTimebox()
Получить экземпляр timebox, используемый стражем. |
Details
Authenticatable authenticate()
Определить, аутентифицирован ли текущий пользователь. Если нет, выбросить исключение.
bool hasUser()
Определить, имеет ли страж экземпляр пользователя.
bool check()
Определить, аутентифицирован ли текущий пользователь.
bool guest()
Определить, является ли текущий пользователь гостем.
int|string|null id()
Получить ID текущего аутентифицированного пользователя.
$this setUser(Authenticatable $user)
Установить текущего пользователя.
$this forgetUser()
Забыть текущего пользователя.
UserProvider getProvider()
Получить поставщика пользователей, используемого стражем.
void setProvider(UserProvider $provider)
Установить поставщика пользователей, используемого стражем.
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательское макро.
static void mixin(object $mixin, bool $replace = true)
Смешать другой объект в класс.
static bool hasMacro(string $name)
Проверяет, зарегистрировано ли макро.
static void flushMacros()
Очистить существующие макросы.
static mixed __callStatic(string $method, array $parameters)
Динамически обрабатывать вызовы к классу.
mixed __call(string $method, array $parameters)
Динамически обрабатывать вызовы к классу.
void __construct(string $name, UserProvider $provider, Session $session, Request|null $request = null, Timebox|null $timebox = null, bool $rehashOnLogin = true)
Создать новый страж аутентификации.
Authenticatable|null user()
Получить текущего аутентифицированного пользователя.
protected mixed userFromRecaller(Recaller $recaller)
Получить пользователя из репозитория по токену куки "запомнить меня".
protected Recaller|null recaller()
Получить расшифрованный куки recaller для запроса.
bool once(array $credentials = [])
Войти в систему пользователя в приложение без сессий или файлов cookie.
Authenticatable|false onceUsingId(mixed $id)
Войти в систему данного пользователя по ID без сессий или файлов cookie.
bool validate(array $credentials = [])
Проверить учетные данные пользователя.
Response|null basic(string $field = 'email', array $extraConditions = [])
Попытка аутентификации с помощью HTTP Basic Auth.
Response|null onceBasic(string $field = 'email', array $extraConditions = [])
Выполнить попытку аутентификации HTTP Basic без сохранения состояния.
protected bool attemptBasic(Request $request, string $field, array $extraConditions = [])
Попытка аутентификации с использованием базовой аутентификации.
protected array basicCredentials(Request $request, string $field)
Получить массив данных для аутентификации HTTP Basic.
protected void failedBasicResponse()
Получить ответ для базовой аутентификации при ошибке.
bool attempt(array $credentials = [], bool $remember = false)
Попытка аутентификации пользователя с заданными учетными данными.
bool attemptWhen(array $credentials = [], array|callable|null $callbacks = null, bool $remember = false)
Попытка аутентификации пользователя с учетными данными и дополнительными вызовами.
protected bool hasValidCredentials(mixed $user, array $credentials)
Определить, соответствует ли пользователь предоставленным учетным данным.
protected bool shouldLogin(array|callable|null $callbacks, Authenticatable $user)
Определить, должен ли пользователь войти в систему, выполнив заданные вызовы.
protected void rehashPasswordIfRequired(Authenticatable $user, array $credentials)
Перехешировать пароль пользователя, если это необходимо.
Authenticatable|false loginUsingId(mixed $id, bool $remember = false)
Авторизовать пользователя по его ID.
void login(Authenticatable $user, bool $remember = false)
Авторизовать пользователя.
protected void updateSession(string $id)
Обновить сессию с заданным ID.
protected void ensureRememberTokenIsSet(Authenticatable $user)
Создать новый токен «запомнить меня» для пользователя, если он еще не существует.
protected void queueRecallerCookie(Authenticatable $user)
Добавить куки «запомнить меня» в хранилище.
protected Cookie createRecaller(string $value)
Создать куки «запомнить меня» для данного ID.
void logout()
Выйти из системы.
void logoutCurrentDevice()
Выход из системы только с текущего устройства.
Этот метод не сбрасывает токен «запомнить меня».
protected void clearUserDataFromStorage()
Удалить данные пользователя из сессии и куки.
protected void cycleRememberToken(Authenticatable $user)
Обновить токен "запомнить меня" для пользователя.
Authenticatable|null logoutOtherDevices(string $password)
Аннулировать другие сессии для текущего пользователя.
Приложение должно использовать middleware AuthenticateSession.
protected Authenticatable|null rehashUserPasswordForDeviceLogout(string $password)
Перехэшировать пароль текущего пользователя для выхода из других устройств через AuthenticateSession.
void attempting(mixed $callback)
Зарегистрировать слушатель события попытки аутентификации.
protected void fireAttemptEvent(array $credentials, bool $remember = false)
Вызвать событие attempt с заданными аргументами.
protected void fireValidatedEvent(Authenticatable $user)
Вызывает событие validated, если диспетчер установлен.
protected void fireLoginEvent(Authenticatable $user, bool $remember = false)
Вызывает событие login, если диспетчер установлен.
protected void fireAuthenticatedEvent(Authenticatable $user)
Вызывает событие authenticated, если диспетчер установлен.
protected void fireOtherDeviceLogoutEvent(Authenticatable $user)
Вызывает событие выхода из других устройств, если диспетчер установлен.
protected void fireFailedEvent(Authenticatable|null $user, array $credentials)
Вызвать событие неудачной попытки аутентификации с указанными аргументами.
Authenticatable getLastAttempted()
Получить последнего пользователя, для которого пытались выполнить аутентификацию.
string getName()
Получить уникальный идентификатор для значения сессии аутентификации.
string getRecallerName()
Получить имя cookie, используемого для хранения "recaller".
bool viaRemember()
Определить, был ли пользователь аутентифицирован с помощью cookie "запомнить меня".
protected int getRememberDuration()
Получить количество минут, в течение которых cookie "запомнить меня" должен быть действителен.
$this setRememberDuration(int $minutes)
Установить количество минут, в течение которых cookie "запомнить меня" должен быть действителен.
QueueingFactory getCookieJar()
Получить экземпляр создателя cookie, используемый стражем.
void setCookieJar(ОчередьФэйктори $cookie)
Установить экземпляр создателя cookie, используемый стражем.
Диспечер getDispatcher()
Получить экземпляр диспетчера событий.
void setDispatcher(Диспечер $events)
Установить экземпляр диспетчера событий.
Сессия getSession()
Получить хранилище сессии, используемое стражем.
Аутентифицируемый|null getUser()
Возвратить текущего кэшированного пользователя.
Запрос getRequest()
Получить текущий экземпляр запроса.
$this setRequest(Запрос $request)
Установить текущий экземпляр запроса.
БлокВремени getTimebox()
Получить экземпляр блока времени, используемый стражем.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/11.x/Illuminate/Auth/SessionGuard.html