Шлюз
класс Шлюз реализует Шлюз (Просмотреть исходный код)
Трейты
| ОбработкаАвторизации |
Свойства
| protected Контейнер | $container | Экземпляр контейнера. | |
| protected callable | $userResolver | Вызываемый объект для разрешения пользователя. | |
| protected array | $abilities | Все определенные возможности. | |
| protected array | $policies | Все определенные политики. | |
| protected array | $beforeCallbacks | Все зарегистрированные вызываемые объекты до начала выполнения. | |
| protected array | $afterCallbacks | Все зарегистрированные вызываемые объекты после выполнения. | |
| protected array | $stringCallbacks | Все определенные возможности с использованием нотации class@method. | |
| protected callable|null | $guessPolicyNamesUsingCallback | Вызываемый объект для определения имен политик. |
Методы
| Response | allow(string|null $message = null, mixed $code = null)
Создать новый ответ доступа. | из HandlesAuthorization |
| Response | deny(string|null $message = null, mixed|null $code = null)
Выбрасывает исключение несанкционированного доступа. | из HandlesAuthorization |
| Response | denyWithStatus(int $status, string|null $message = null, int|null $code = null)
Отказ с кодом HTTP-статуса. | из HandlesAuthorization |
| Response | denyAsNotFound(string|null $message = null, int|null $code = null)
Отказ с кодом HTTP-статуса 404. | из HandlesAuthorization |
| void | __construct(Container $container, callable $userResolver, array $abilities = [], array $policies = [], array $beforeCallbacks = [], array $afterCallbacks = [], callable $guessPolicyNamesUsingCallback = null)
Создать новый экземпляр ворот. | |
| bool | has(string $ability)
Определить, определен ли данный навык. | |
| Response | allowIf(Response|Closure|bool $condition, string|null $message = null, string|null $code = null)
Выполнить проверку авторизации по запросу. Выбросить исключение авторизации, если условие или обратный вызов ложны. | |
| Response | denyIf(Response|Closure|bool $condition, string|null $message = null, string|null $code = null)
Выполнить проверку авторизации по запросу. Выбросить исключение авторизации, если условие или обратный вызов истинны. | |
| Response | authorizeOnDemand(Response|Closure|bool $condition, string|null $message, string|null $code, bool $allowWhenResponseIs)
Авторизовать данное условие или обратный вызов. | |
| $this | define(string $ability, callable|string $callback)
Определить новую возможность. | |
| $this | resource(string $name, string $class, array $abilities = null)
Определить возможности для ресурса. | |
| Closure | buildAbilityCallback(string $ability, string $callback)
Создать обратный вызов возможности для строки обратного вызова. | |
| $this | policy(string $class, string $policy)
Определить класс политики для данного типа класса. | |
| $this | before(callable $callback)
Зарегистрировать обратный вызов для выполнения перед всеми проверками Gate. | |
| $this | after(callable $callback)
Зарегистрировать обратный вызов для выполнения после всех проверок Gate. | |
| bool | allows(string $ability, array|mixed $arguments = [])
Определить, следует ли предоставить данную возможность для текущего пользователя. | |
| bool | denies(string $ability, array|mixed $arguments = [])
Определить, следует ли запретить данную возможность для текущего пользователя. | |
| bool | check(iterable|string $abilities, array|mixed $arguments = [])
Определить, следует ли предоставить все указанные возможности для текущего пользователя. | |
| bool | any(iterable|string $abilities, array|mixed $arguments = [])
Определить, следует ли предоставить хотя бы одну из указанных возможностей для текущего пользователя. | |
| bool | none(iterable|string $abilities, array|mixed $arguments = [])
Определить, следует ли запретить все указанные возможности для текущего пользователя. | |
| Response | authorize(string $ability, array|mixed $arguments = [])
Определить, следует ли предоставить данную возможность для текущего пользователя. | |
| Response | inspect(string $ability, array|mixed $arguments = [])
Проверить пользователя на наличие данной возможности. | |
| mixed | raw(string $ability, array|mixed $arguments = [])
Получить исходный результат из обратного вызова авторизации. | |
| bool | canBeCalledWithUser(Authenticatable|null $user, Closure|string|array $class, string|null $method = null)
Определить, можно ли вызвать обратный вызов/метод с данным пользователем. | |
| bool | methodAllowsGuests(string $class, string $method)
Определить, позволяет ли данный метод класса гостям. | |
| bool | callbackAllowsGuests(callable $callback)
Определить, позволяет ли обратный вызов гостям. | |
| bool | parameterAllowsGuests(ReflectionParameter $parameter)
Определить, позволяет ли данный параметр гостям. | |
| bool | callAuthCallback(Authenticatable|null $user, string $ability, array $arguments)
Разрешить и вызвать соответствующий обратный вызов авторизации. | |
| bool|null | callBeforeCallbacks(Authenticatable|null $user, string $ability, array $arguments)
Вызвать все обратные вызовы before и вернуть, если результат предоставлен. | |
| bool|null | callAfterCallbacks(Authenticatable $user, string $ability, array $arguments, bool $result)
Вызвать все обратные вызовы после с результатом проверки. | |
| void | dispatchGateEvaluatedEvent(Authenticatable|null $user, string $ability, array $arguments, bool|null $result)
Отправить событие оценки ворот. | |
| callable | resolveAuthCallback(Authenticatable|null $user, string $ability, array $arguments)
Разрешить обратный вызов для данной возможности и аргументов. | |
| mixed | getPolicyFor(object|string $class)
Получить экземпляр политики для данного класса. |
| array | guessPolicyName(string $class)
Угадать имя политики для данного класса. | |
| $this | guessPolicyNamesUsing(callable $callback)
Указать обратный вызов, который будет использоваться для угадывания имён политик. | |
| mixed | resolvePolicy(object|string $class)
Создать экземпляр класса политики заданного типа. | |
| bool|callable | resolvePolicyCallback(Authenticatable $user, string $ability, array $arguments, mixed $policy)
Определить обратный вызов для проверки политики. | |
| mixed | callPolicyBefore(mixed $policy, Authenticatable $user, string $ability, array $arguments)
Вызвать метод «before» данной политики, если применимо. | |
| mixed | callPolicyMethod(mixed $policy, string $method, Authenticatable|null $user, array $arguments)
Вызвать соответствующий метод данной политики. | |
| string | formatAbilityToMethod(string $ability)
Отформатировать способность политики в имя метода. | |
| Gate | forUser(Authenticatable|mixed $user)
Получить экземпляр шлюза для данного пользователя. | |
| mixed | resolveUser()
Определить пользователя из резолвера пользователей. | |
| array | abilities()
Получить все определённые возможности. | |
| array | policies()
Получить все определённые политики. | |
| $this | setContainer(Container $container)
Установить экземпляр контейнера, используемый шлюзом. |
Подробности
protected Response allow(string|null $message = null, mixed $code = null)
Создать новый ответ доступа.
protected Response deny(string|null $message = null, mixed|null $code = null)
Выбрасывает исключение «неавторизован».
Response denyWithStatus(int $status, string|null $message = null, int|null $code = null)
Отказ с кодом HTTP-статуса.
Response denyAsNotFound(string|null $message = null, int|null $code = null)
Отказ с кодом HTTP-статуса 404.
void __construct(Container $container, callable $userResolver, array $abilities = [], array $policies = [], array $beforeCallbacks = [], array $afterCallbacks = [], callable $guessPolicyNamesUsingCallback = null)
Создать новый экземпляр шлюза.
bool has(string $ability)
Определить, была ли определена данная возможность.
Response allowIf(Response|Closure|bool $condition, string|null $message = null, string|null $code = null)
Выполнить проверку авторизации по требованию. Выбросить исключение авторизации, если условие или обратный вызов ложны.
Response denyIf(Response|Closure|bool $condition, string|null $message = null, string|null $code = null)
Выполнить проверку авторизации по требованию. Выбросить исключение авторизации, если условие или обратный вызов истинны.
protected Response authorizeOnDemand(Response|Closure|bool $condition, string|null $message, string|null $code, bool $allowWhenResponseIs)
Авторизовать заданное условие или обратный вызов.
$this define(string $ability, callable|string $callback)
Определить новую возможность.
$this resource(string $name, string $class, array $abilities = null)
Определить возможности для ресурса.
protected Closure buildAbilityCallback(string $ability, string $callback)
Создать обратный вызов для возможности по строке обратного вызова.
$this policy(string $class, string $policy)
Определить класс политики для заданного типа класса.
$this before(callable $callback)
Зарегистрировать обратный вызов для выполнения перед всеми проверками Gate.
$this after(callable $callback)
Зарегистрировать обратный вызов для выполнения после всех проверок Gate.
bool allows(string $ability, array|mixed $arguments = [])
Определить, должна ли быть предоставлена данная возможность для текущего пользователя.
bool denies(string $ability, array|mixed $arguments = [])
Определить, должна ли быть запрещена данная возможность для текущего пользователя.
bool check(iterable|string $abilities, array|mixed $arguments = [])
Определить, должны ли все указанные возможности быть предоставлены для текущего пользователя.
bool any(iterable|string $abilities, array|mixed $arguments = [])
Определить, должна ли быть предоставлена хотя бы одна из указанных возможностей для текущего пользователя.
bool none(iterable|string $abilities, array|mixed $arguments = [])
Определить, должны ли все указанные возможности быть запрещены для текущего пользователя.
Response authorize(string $ability, array|mixed $arguments = [])
Определить, должна ли быть предоставлена данная возможность для текущего пользователя.
Response inspect(string $ability, array|mixed $arguments = [])
Проверить пользователя на наличие данной возможности.
mixed raw(string $ability, array|mixed $arguments = [])
Получить исходный результат из обратного вызова авторизации.
protected bool canBeCalledWithUser(Authenticatable|null $user, Closure|string|array $class, string|null $method = null)
Определить, можно ли вызвать обратный вызов/метод с данным пользователем.
protected bool methodAllowsGuests(string $class, string $method)
Определить, разрешает ли метод данного класса доступ гостям.
protected bool callbackAllowsGuests(callable $callback)
Определить, разрешает ли обратный вызов доступ гостям.
protected bool parameterAllowsGuests(ReflectionParameter $parameter)
Определить, разрешает ли данный параметр доступ гостям.
protected bool callAuthCallback(Authenticatable|null $user, string $ability, array $arguments)
Разрешить и вызвать соответствующий обратный вызов авторизации.
protected bool|null callBeforeCallbacks(Authenticatable|null $user, string $ability, array $arguments)
Вызвать все обратные вызовы до и вернуть, если результат задан.
protected bool|null callAfterCallbacks(Authenticatable $user, string $ability, array $arguments, bool $result)
Вызвать все обратные вызовы после проверки результата.
protected void dispatchGateEvaluatedEvent(Authenticatable|null $user, string $ability, array $arguments, bool|null $result)
Отправить событие оценки ворот.
protected callable resolveAuthCallback(Authenticatable|null $user, string $ability, array $arguments)
Разрешить обратный вызов для заданного действия и аргументов.
mixed getPolicyFor(object|string $class)
Получить экземпляр политики для данного класса.
protected array guessPolicyName(string $class)
Угадать имя политики для данного класса.
$this guessPolicyNamesUsing(callable $callback)
Указать обратный вызов, который будет использоваться для угадывания имен политики.
mixed resolvePolicy(object|string $class)
Создать экземпляр класса политики заданного типа.
protected bool|callable resolvePolicyCallback(Authenticatable $user, string $ability, array $arguments, mixed $policy)
Разрешить обратный вызов для проверки политики.
protected mixed callPolicyBefore(mixed $policy, Authenticatable $user, string $ability, array $arguments)
Вызвать метод «before» для данной политики, если применимо.
protected mixed callPolicyMethod(mixed $policy, string $method, Authenticatable|null $user, array $arguments)
Вызвать соответствующий метод заданной политики.
protected string formatAbilityToMethod(string $ability)
Форматировать способность политики в имя метода.
Gate forUser(Authenticatable|mixed $user)
Получить экземпляр ворот для данного пользователя.
protected mixed resolveUser()
Разрешить пользователя из решателя пользователей.
array abilities()
Получить все определенные способности.
array policies()
Получить все определенные политики.
$this setContainer(Container $container)
Установить экземпляр контейнера, используемый воротами.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/9.x/Illuminate/Auth/Access/Gate.html