Gate
class Gate implements Gate (View source)
Traits
HandlesAuthorization |
Properties
protected Container | $container | The container instance. | |
protected callable | $userResolver | The user resolver callable. | |
protected array | $abilities | All of the defined abilities. | |
protected array | $policies | All of the defined policies. | |
protected array | $beforeCallbacks | All of the registered before callbacks. | |
protected array | $afterCallbacks | All of the registered after callbacks. |
Methods
Response | allow(string|null $message = null) Create a new access response. | from HandlesAuthorization |
void | deny(string $message = 'This action is unauthorized.') Throws an unauthorized exception. | from HandlesAuthorization |
void | __construct(Container $container, callable $userResolver, array $abilities = [], array $policies = [], array $beforeCallbacks = [], array $afterCallbacks = []) Create a new gate instance. | |
bool | has(string $ability) Determine if a given ability has been defined. | |
$this | define(string $ability, callable|string $callback) Define a new ability. | |
$this | resource(string $name, string $class, array $abilities = null) Define abilities for a resource. | |
Closure | buildAbilityCallback(string $ability, string $callback) Create the ability callback for a callback string. | |
$this | policy(string $class, string $policy) Define a policy class for a given class type. | |
$this | before(callable $callback) Register a callback to run before all Gate checks. | |
$this | after(callable $callback) Register a callback to run after all Gate checks. | |
bool | allows(string $ability, array|mixed $arguments = []) Determine if the given ability should be granted for the current user. | |
bool | denies(string $ability, array|mixed $arguments = []) Determine if the given ability should be denied for the current user. | |
bool | check(iterable|string $abilities, array|mixed $arguments = []) Determine if all of the given abilities should be granted for the current user. | |
bool | any(iterable|string $abilities, array|mixed $arguments = []) Determine if any one of the given abilities should be granted for the current user. | |
Response | authorize(string $ability, array|mixed $arguments = []) Determine if the given ability should be granted for the current user. | |
mixed | raw(string $ability, array|mixed $arguments = []) Get the raw result from the authorization callback. | |
bool | canBeCalledWithUser(Authenticatable|null $user, Closure|string|array $class, string|null $method = null) Determine whether the callback/method can be called with the given user. | |
bool | methodAllowsGuests(string $class, string $method) Determine if the given class method allows guests. | |
bool | callbackAllowsGuests($callback) Determine if the callback allows guests. | |
bool | parameterAllowsGuests(ReflectionParameter $parameter) Determine if the given parameter allows guests. | |
bool | callAuthCallback(Authenticatable|null $user, string $ability, array $arguments) Resolve and call the appropriate authorization callback. | |
bool|null | callBeforeCallbacks(Authenticatable|null $user, string $ability, array $arguments) Call all of the before callbacks and return if a result is given. | |
void | callAfterCallbacks(Authenticatable $user, string $ability, array $arguments, bool $result) Call all of the after callbacks with check result. | |
callable | resolveAuthCallback(Authenticatable|null $user, string $ability, array $arguments) Resolve the callable for the given ability and arguments. | |
mixed | getPolicyFor(object|string $class) Get a policy instance for a given class. | |
mixed | resolvePolicy(object|string $class) Build a policy class instance of the given type. | |
bool|callable | resolvePolicyCallback(Authenticatable $user, string $ability, array $arguments, mixed $policy) Resolve the callback for a policy check. | |
mixed | callPolicyBefore(mixed $policy, Authenticatable $user, string $ability, array $arguments) Call the "before" method on the given policy, if applicable. | |
mixed | callPolicyMethod(mixed $policy, string $method, Authenticatable|null $user, array $arguments) Call the appropriate method on the given policy. | |
string | formatAbilityToMethod(string $ability) Format the policy ability into a method name. | |
Gate | forUser(Authenticatable|mixed $user) Get a gate instance for the given user. | |
mixed | resolveUser() Resolve the user from the user resolver. | |
array | abilities() Get all of the defined abilities. | |
array | policies() Get all of the defined policies. |
Details
protected Response allow(string|null $message = null)
Create a new access response.
protected void deny(string $message = 'This action is unauthorized.')
Throws an unauthorized exception.
void __construct(Container $container, callable $userResolver, array $abilities = [], array $policies = [], array $beforeCallbacks = [], array $afterCallbacks = [])
Create a new gate instance.
bool has(string $ability)
Determine if a given ability has been defined.
$this define(string $ability, callable|string $callback)
Define a new ability.
$this resource(string $name, string $class, array $abilities = null)
Define abilities for a resource.
protected Closure buildAbilityCallback(string $ability, string $callback)
Create the ability callback for a callback string.
$this policy(string $class, string $policy)
Define a policy class for a given class type.
$this before(callable $callback)
Register a callback to run before all Gate checks.
$this after(callable $callback)
Register a callback to run after all Gate checks.
bool allows(string $ability, array|mixed $arguments = [])
Determine if the given ability should be granted for the current user.
bool denies(string $ability, array|mixed $arguments = [])
Determine if the given ability should be denied for the current user.
bool check(iterable|string $abilities, array|mixed $arguments = [])
Determine if all of the given abilities should be granted for the current user.
bool any(iterable|string $abilities, array|mixed $arguments = [])
Determine if any one of the given abilities should be granted for the current user.
Response authorize(string $ability, array|mixed $arguments = [])
Determine if the given ability should be granted for the current user.
mixed raw(string $ability, array|mixed $arguments = [])
Get the raw result from the authorization callback.
protected bool canBeCalledWithUser(Authenticatable|null $user, Closure|string|array $class, string|null $method = null)
Determine whether the callback/method can be called with the given user.
protected bool methodAllowsGuests(string $class, string $method)
Determine if the given class method allows guests.
protected bool callbackAllowsGuests($callback)
Determine if the callback allows guests.
protected bool parameterAllowsGuests(ReflectionParameter $parameter)
Determine if the given parameter allows guests.
protected bool callAuthCallback(Authenticatable|null $user, string $ability, array $arguments)
Resolve and call the appropriate authorization callback.
protected bool|null callBeforeCallbacks(Authenticatable|null $user, string $ability, array $arguments)
Call all of the before callbacks and return if a result is given.
protected void callAfterCallbacks(Authenticatable $user, string $ability, array $arguments, bool $result)
Call all of the after callbacks with check result.
protected callable resolveAuthCallback(Authenticatable|null $user, string $ability, array $arguments)
Resolve the callable for the given ability and arguments.
mixed getPolicyFor(object|string $class)
Get a policy instance for a given class.
mixed resolvePolicy(object|string $class)
Build a policy class instance of the given type.
protected bool|callable resolvePolicyCallback(Authenticatable $user, string $ability, array $arguments, mixed $policy)
Resolve the callback for a policy check.
protected mixed callPolicyBefore(mixed $policy, Authenticatable $user, string $ability, array $arguments)
Call the "before" method on the given policy, if applicable.
protected mixed callPolicyMethod(mixed $policy, string $method, Authenticatable|null $user, array $arguments)
Call the appropriate method on the given policy.
protected string formatAbilityToMethod(string $ability)
Format the policy ability into a method name.
Gate forUser(Authenticatable|mixed $user)
Get a gate instance for the given user.
protected mixed resolveUser()
Resolve the user from the user resolver.
array abilities()
Get all of the defined abilities.
array policies()
Get all of the defined policies.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.7/Illuminate/Auth/Access/Gate.html