Annotation Type RequiresPermissions
-
@Target({TYPE,METHOD}) @Retention(RUNTIME) public @interface RequiresPermissions
Requires the current executor's Subject to imply a particular permission in order to execute the annotated method. If the executor's associated
Subject
determines that the executor does not imply the specified permission, the method will not be executed.For example, this declaration:
@RequiresPermissions( {"file:read", "write:aFile.txt"} )
indicates the current user must be able to both read and write to the file aFile.txt in order for the someMethod() to execute, otherwise an
void someMethod();AuthorizationException
will be thrown.- Since:
- 0.1
- See Also:
Subject.checkPermission(java.lang.String)
-
-
Required Element Summary
Required Elements Modifier and Type Required Element Description String[]
value
The permission string which will be passed toSubject.isPermitted(String)
to determine if the user is allowed to invoke the code protected by this annotation.
-
-
-
Element Detail
-
value
String[] value
The permission string which will be passed toSubject.isPermitted(String)
to determine if the user is allowed to invoke the code protected by this annotation.
-
-
-
logical
Logical logical
The logical operation for the permission checks in case multiple roles are specified. AND is the default- Since:
- 1.1.0
- Default:
- org.apache.shiro.authz.annotation.Logical.AND
-
-