NAME
Articulate::Permission - represent a permission request/response
FUNCTIONS
new_permission
my $permission = new_permission $user, verb => $location;
Creates a new permission request, using the user, verb and location supplied as the respective arguments.
METHODS
new
An unremarkable Moo constructor.
grant
$permission->grant('Anybody can do that!');
Declares that the user has that permission, for the reason given; sets granted
and denied
and populates the stack trace.
deny
$permission->deny('Don\t touch that!');
Declares that the user does not have that permission, for the reason given; sets granted
and denied
and populates the stack trace.
ATTRIBUTES
user_id
The user_id requesting permission to access the resource.
verb
The action being performed, e.g. read
, write
, etc. The verbs available are entirely dependant on the application.
A permission request will be granted or denied by an authorisation rule (see Articulate::Authorisation), who will typically implement verbs that bay be different from but are either a) broader than, or b) equally broad as, the verbs used by the Articulate::Service.
location
The location of the resource for which permission is requested.
granted
Whether or not the permission has been explicitly granted. The value of this is used for overload behaviour.
Please do not explicitly set this. Use grant
instead.
denied
Whether the permission has been explicitly denied.
Please do not explicitly set this. Use deny
instead.
reason
The reason for the grant or denial of permission.
Please do not explicitly set this. Use grant
or deny
instead.
stack_trace
The stack trace at the point of grant or denial of permission.
Please do not explicitly set this. Use grant
or deny
instead.
SEE ALSO
Articulate::Credentials (which performs a similar function for Articulate::Authentication)