Class SimpleAuthorizationInfo
java.lang.Object
org.apache.shiro.authz.SimpleAuthorizationInfo
- All Implemented Interfaces:
Serializable,AuthorizationInfo
Simple POJO implementation of the
AuthorizationInfo interface that stores roles and permissions as internal
attributes.- Since:
- 0.9
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Set<Permission> Collection of all object-based permissions associated with the account.The internal roles collection.Collection of all string-based permissions associated with the account. -
Constructor Summary
ConstructorsConstructorDescriptionDefault no-argument constructor.SimpleAuthorizationInfo(Set<String> roles) Creates a new instance with the specified roles and no permissions. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddObjectPermission(Permission permission) Adds (assigns) a permission to those directly associated with the account.voidaddObjectPermissions(Collection<Permission> permissions) Adds (assigns) multiple permissions to those associated directly with the account.voidAdds (assigns) a role to those associated with the account.voidaddRoles(Collection<String> roles) Adds (assigns) multiple roles to those associated with the account.voidaddStringPermission(String permission) Adds (assigns) a permission to those directly associated with the account.voidaddStringPermissions(Collection<String> permissions) Adds (assigns) multiple permissions to those associated directly with the account.Returns all type-safePermissions assigned to the corresponding Subject.getRoles()Returns the names of all roles assigned to a corresponding Subject.Returns all string-based permissions assigned to the corresponding Subject.voidsetObjectPermissions(Set<Permission> objectPermissions) Sets the object-based permissions assigned directly to the account.voidSets the roles assigned to the account.voidsetStringPermissions(Set<String> stringPermissions) Sets the string-based permissions assigned directly to the account.
-
Field Details
-
roles
-
stringPermissions
Collection of all string-based permissions associated with the account. -
objectPermissions
Collection of all object-based permissions associated with the account.
-
-
Constructor Details
-
SimpleAuthorizationInfo
public SimpleAuthorizationInfo()Default no-argument constructor. -
SimpleAuthorizationInfo
Creates a new instance with the specified roles and no permissions.- Parameters:
roles- the roles assigned to the realm account.
-
-
Method Details
-
getRoles
Description copied from interface:AuthorizationInfoReturns the names of all roles assigned to a corresponding Subject.- Specified by:
getRolesin interfaceAuthorizationInfo- Returns:
- the names of all roles assigned to a corresponding Subject.
-
setRoles
-
addRole
-
addRoles
Adds (assigns) multiple roles to those associated with the account. If the account doesn't yet have any roles, a new roles collection (a Set) will be created automatically.- Parameters:
roles- the roles to add to those associated with the account.
-
getStringPermissions
Description copied from interface:AuthorizationInfoReturns all string-based permissions assigned to the corresponding Subject. The permissions here plus those returned fromgetObjectPermissions()represent the total set of permissions assigned. The aggregate set is used to perform a permission authorization check. This method is a convenience mechanism that allows Realms to represent permissions as Strings if they choose. When performing a security check, aRealmusually converts these strings to objectPermissions via an internalPermissionResolverin order to perform the actual permission check. This is not a requirement of course, sinceRealms can perform security checks in whatever manner deemed necessary, but this explains the conversion mechanism that most Shiro Realms execute for string-based permission checks.- Specified by:
getStringPermissionsin interfaceAuthorizationInfo- Returns:
- all string-based permissions assigned to the corresponding Subject.
-
setStringPermissions
Sets the string-based permissions assigned directly to the account. The permissions set here, in addition to anyobject permissionsconstitute the total permissions assigned directly to the account.- Parameters:
stringPermissions- the string-based permissions assigned directly to the account.
-
addStringPermission
Adds (assigns) a permission to those directly associated with the account. If the account doesn't yet have any direct permissions, a new permission collection (a Set<String>) will be created automatically.- Parameters:
permission- the permission to add to those directly assigned to the account.
-
addStringPermissions
Adds (assigns) multiple permissions to those associated directly with the account. If the account doesn't yet have any string-based permissions, a new permissions collection (a Set<String>) will be created automatically.- Parameters:
permissions- the permissions to add to those associated directly with the account.
-
getObjectPermissions
Description copied from interface:AuthorizationInfoReturns all type-safePermissions assigned to the corresponding Subject. The permissions returned from this method plus any returned fromgetStringPermissions()represent the total set of permissions. The aggregate set is used to perform a permission authorization check.- Specified by:
getObjectPermissionsin interfaceAuthorizationInfo- Returns:
- all type-safe
Permissions assigned to the corresponding Subject.
-
setObjectPermissions
Sets the object-based permissions assigned directly to the account. The permissions set here, in addition to anystring permissionsconstitute the total permissions assigned directly to the account.- Parameters:
objectPermissions- the object-based permissions assigned directly to the account.
-
addObjectPermission
Adds (assigns) a permission to those directly associated with the account. If the account doesn't yet have any direct permissions, a new permission collection (a Set<Permission>) will be created automatically.- Parameters:
permission- the permission to add to those directly assigned to the account.
-
addObjectPermissions
Adds (assigns) multiple permissions to those associated directly with the account. If the account doesn't yet have any object-based permissions, a new permissions collection (a Set<Permission>) will be created automatically.- Parameters:
permissions- the permissions to add to those associated directly with the account.
-