Gate
class Gate implements Gate (View source)
Traits
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
Throws an unauthorized exception.
Create a new gate instance.
Determine if a given ability has been defined.
Define a new ability.
Define abilities for a resource.
Create the ability callback for a callback string.
Define a policy class for a given class type.
Register a callback to run before all Gate checks.
Register a callback to run after all Gate checks.
Determine if the given ability should be granted for the current user.
Determine if the given ability should be denied for the current user.
Determine if all of the given abilities should be granted for the current user.
Determine if any one of the given abilities should be granted for the current user.
Determine if the given ability should be granted for the current user.
Get the raw result from the authorization callback.
Resolve and call the appropriate authorization callback.
Call all of the before callbacks and return if a result is given.
Call all of the after callbacks with check result.
Resolve the callable for the given ability and arguments.
Get a policy instance for a given class.
Build a policy class instance of the given type.
Resolve the callback for a policy check.
Call the "before" method on the given policy, if applicable.
Format the policy ability into a method name.
Resolve the user from the user resolver.
Get all of the defined abilities.
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.
protected mixed
raw(string $ability, array|mixed $arguments = [])
Get the raw result from the authorization callback.
protected bool
callAuthCallback(Authenticatable $user, string $ability, array $arguments)
Resolve and call the appropriate authorization callback.
protected bool|null
callBeforeCallbacks(Authenticatable $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 $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 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.