@Service(value="authorizationService")
public class AuthorizationImpl
extends java.lang.Object
implements org.apereo.portal.security.IAuthorizationService
| Modifier and Type | Field and Description |
|---|---|
protected org.slf4j.Logger |
logger
Instance of log in order to log events.
|
| Constructor and Description |
|---|
AuthorizationImpl() |
| Modifier and Type | Method and Description |
|---|---|
void |
addPermissions(org.apereo.portal.security.IPermission[] permissions)
Adds
IPermissions to the back end store. |
protected void |
cacheAdd(org.apereo.portal.security.IPermissionSet ps)
Adds the
IPermissionSet to the entity cache. |
protected org.apereo.portal.security.IPermissionSet |
cacheGet(org.apereo.portal.security.IAuthorizationPrincipal principal)
Retrieves the
IPermissionSet for the IPermissionSet from the entity
cache. |
protected void |
cacheRemove(org.apereo.portal.security.IAuthorizationPrincipal ap)
Removes the
IPermissionSet for this principal from the entity cache. |
boolean |
canPrincipalBrowse(org.apereo.portal.security.IAuthorizationPrincipal principal,
org.apereo.portal.portlet.om.IPortletDefinition portlet) |
boolean |
canPrincipalBrowse(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String portletDefinitionId) |
boolean |
canPrincipalConfigure(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String portletDefinitionId) |
boolean |
canPrincipalManage(org.apereo.portal.security.IAuthorizationPrincipal principal,
org.apereo.portal.portlet.om.PortletLifecycleState state,
java.lang.String categoryId)
This checks if the framework has granted principal a right to publish.
|
boolean |
canPrincipalManage(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String portletDefinitionId)
Answers if the principal has permission to MANAGE this Channel.
|
boolean |
canPrincipalRender(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String portletDefinitionId)
Answers if the principal has permission to RENDER this Channel.
|
boolean |
canPrincipalSubscribe(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String portletDefinitionId)
Answers if the principal has permission to SUBSCRIBE to this Channel.
|
boolean |
doesPrincipalHavePermission(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String owner,
java.lang.String activity,
java.lang.String target)
Answers if the owner has given the principal (or any of its parents) permission to perform
the activity on the target.
|
boolean |
doesPrincipalHavePermission(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String owner,
java.lang.String activity,
java.lang.String target,
org.apereo.portal.security.IPermissionPolicy policy)
Answers if the owner has given the principal permission to perform the activity on the
target, as evaluated by the policy.
|
org.apereo.portal.security.IPermission[] |
getAllPermissionsForPrincipal(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String owner,
java.lang.String activity,
java.lang.String target)
Returns the
IPermissions owner has granted this Principal for the
specified activity and target. |
org.apereo.portal.security.IAuthorizationPrincipal[] |
getAuthorizedPrincipals(java.lang.String owner,
java.lang.String activity,
java.lang.String target)
Returns
IAuthorizationPrincipals that have IPermissions for the
given owner, activity and target. |
protected org.apereo.portal.security.IPermissionPolicy |
getDefaultPermissionPolicy() |
org.apereo.portal.groups.IGroupMember |
getGroupMember(org.apereo.portal.security.IAuthorizationPrincipal principal) |
org.apereo.portal.security.IPermission[] |
getPermissionsForOwner(java.lang.String owner,
java.lang.String activity,
java.lang.String target)
Returns the
IPermissions owner has granted for the specified activity and
target. |
org.apereo.portal.security.IPermission[] |
getPermissionsForPrincipal(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String owner,
java.lang.String activity,
java.lang.String target)
Returns the
IPermissions owner has granted this Principal for the
specified activity and target. |
org.apereo.portal.security.IPermission[] |
getPermissionsForTarget(java.lang.String owner,
java.lang.String target) |
org.apereo.portal.security.IAuthorizationPrincipal |
getPrincipal(org.apereo.portal.security.IPermission permission)
Returns
IAuthorizationPrincipal associated with the IPermission. |
java.lang.String |
getPrincipalString(org.apereo.portal.security.IAuthorizationPrincipal principal)
Returns the String used by an
IPermission to represent an
IAuthorizationPrincipal. |
org.apereo.portal.security.IPermission[] |
getUncachedPermissionsForPrincipal(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String owner,
java.lang.String activity,
java.lang.String target)
Returns the
IPermissions owner has granted this Principal for the
specified activity and target. |
org.apereo.portal.security.IPermission |
newPermission(java.lang.String owner,
org.apereo.portal.security.IAuthorizationPrincipal principal)
Factory method for an
IPermission. |
org.apereo.portal.security.IPermissionManager |
newPermissionManager(java.lang.String owner)
Factory method for IPermissionManager.
|
org.apereo.portal.security.IAuthorizationPrincipal |
newPrincipal(org.apereo.portal.groups.IGroupMember groupMember)
Converts an
IGroupMember into an IAuthorizationPrincipal. |
org.apereo.portal.security.IAuthorizationPrincipal |
newPrincipal(java.lang.String key,
java.lang.Class type)
Factory method for IAuthorizationPrincipal.
|
org.apereo.portal.security.IUpdatingPermissionManager |
newUpdatingPermissionManager(java.lang.String owner)
Factory method for IUpdatingPermissionManager.
|
void |
removePermissions(org.apereo.portal.security.IPermission[] permissions)
Removes
IPermissions from the back end store. |
void |
setCachePermissions(boolean cachePermissions) |
void |
setDefaultPermissionPolicy(org.apereo.portal.security.IPermissionPolicy newDefaultPermissionPolicy) |
void |
setDoesPrincipalHavePermissionCache(net.sf.ehcache.Ehcache doesPrincipalHavePermissionCache) |
void |
setEntityParentsCache(net.sf.ehcache.Ehcache entityParentsCache) |
void |
setNonEntityPermissionTargetProviders(java.util.Set<java.lang.String> nonEntityPermissionTargetProviders) |
void |
setPermissionOwner(IPermissionOwnerDao permissionOwner) |
void |
setPermissionStore(org.apereo.portal.security.IPermissionStore permissionStore) |
void |
setPortletDefinitionRegistry(org.apereo.portal.portlet.registry.IPortletDefinitionRegistry portletDefinitionRegistry) |
void |
setPrincipalCache(net.sf.ehcache.Ehcache principalCache) |
void |
updatePermissions(org.apereo.portal.security.IPermission[] permissions)
Updates
IPermissions in the back end store. |
@Autowired public void setDefaultPermissionPolicy(org.apereo.portal.security.IPermissionPolicy newDefaultPermissionPolicy)
@Autowired public void setPermissionStore(org.apereo.portal.security.IPermissionStore permissionStore)
@Value(value="${org.apereo.portal.security.IAuthorizationService.cachePermissions}")
public void setCachePermissions(boolean cachePermissions)
@Autowired
public void setPrincipalCache(@Qualifier(value="org.apereo.portal.security.provider.AuthorizationImpl.AUTH_PRINCIPAL_CACHE")
net.sf.ehcache.Ehcache principalCache)
@Autowired
public void setEntityParentsCache(@Qualifier(value="org.apereo.portal.security.provider.AuthorizationImpl.ENTITY_PARENTS_CACHE")
net.sf.ehcache.Ehcache entityParentsCache)
@Autowired
public void setDoesPrincipalHavePermissionCache(@Qualifier(value="org.apereo.portal.security.provider.AuthorizationImpl.PRINCIPAL_HAS_PERMISSION")
net.sf.ehcache.Ehcache doesPrincipalHavePermissionCache)
@Autowired public void setPortletDefinitionRegistry(org.apereo.portal.portlet.registry.IPortletDefinitionRegistry portletDefinitionRegistry)
@Autowired public void setPermissionOwner(IPermissionOwnerDao permissionOwner)
public void setNonEntityPermissionTargetProviders(java.util.Set<java.lang.String> nonEntityPermissionTargetProviders)
public void addPermissions(org.apereo.portal.security.IPermission[] permissions)
throws org.apereo.portal.AuthorizationException
IPermissions to the back end store.addPermissions in interface org.apereo.portal.security.IAuthorizationServicepermissions - IPermission[]org.apereo.portal.AuthorizationExceptionprotected void cacheAdd(org.apereo.portal.security.IPermissionSet ps)
throws org.apereo.portal.AuthorizationException
IPermissionSet to the entity cache.org.apereo.portal.AuthorizationExceptionprotected org.apereo.portal.security.IPermissionSet cacheGet(org.apereo.portal.security.IAuthorizationPrincipal principal)
throws org.apereo.portal.AuthorizationException
IPermissionSet for the IPermissionSet from the entity
cache.org.apereo.portal.AuthorizationExceptionprotected void cacheRemove(org.apereo.portal.security.IAuthorizationPrincipal ap)
throws org.apereo.portal.AuthorizationException
IPermissionSet for this principal from the entity cache.org.apereo.portal.AuthorizationExceptionpublic boolean canPrincipalConfigure(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String portletDefinitionId)
throws org.apereo.portal.AuthorizationException
canPrincipalConfigure in interface org.apereo.portal.security.IAuthorizationServiceorg.apereo.portal.AuthorizationExceptionpublic boolean canPrincipalManage(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String portletDefinitionId)
throws org.apereo.portal.AuthorizationException
canPrincipalManage in interface org.apereo.portal.security.IAuthorizationServiceprincipal - IAuthorizationPrincipal The user who wants to manage the portletportletDefinitionId - The Id of the portlet being managedorg.apereo.portal.AuthorizationException - indicates authorization information could not be retrieved.public boolean canPrincipalManage(org.apereo.portal.security.IAuthorizationPrincipal principal,
org.apereo.portal.portlet.om.PortletLifecycleState state,
java.lang.String categoryId)
throws org.apereo.portal.AuthorizationException
canPrincipalManage in interface org.apereo.portal.security.IAuthorizationServiceprincipal - IAuthorizationPrincipalorg.apereo.portal.AuthorizationExceptionpublic boolean canPrincipalRender(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String portletDefinitionId)
throws org.apereo.portal.AuthorizationException
canPrincipalRender in interface org.apereo.portal.security.IAuthorizationServiceprincipal - IAuthorizationPrincipalportletDefinitionId - org.apereo.portal.AuthorizationException - indicates authorization information could not be retrieved.public boolean canPrincipalBrowse(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String portletDefinitionId)
canPrincipalBrowse in interface org.apereo.portal.security.IAuthorizationServicepublic boolean canPrincipalBrowse(org.apereo.portal.security.IAuthorizationPrincipal principal,
org.apereo.portal.portlet.om.IPortletDefinition portlet)
canPrincipalBrowse in interface org.apereo.portal.security.IAuthorizationServicepublic boolean canPrincipalSubscribe(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String portletDefinitionId)
canPrincipalSubscribe in interface org.apereo.portal.security.IAuthorizationServiceprincipal - IAuthorizationPrincipalportletDefinitionId - org.apereo.portal.AuthorizationException - indicates authorization information could not be retrieved.public boolean doesPrincipalHavePermission(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String owner,
java.lang.String activity,
java.lang.String target)
throws org.apereo.portal.AuthorizationException
owner and activity must be
non-null. If target is null, then target is not checked.doesPrincipalHavePermission in interface org.apereo.portal.security.IAuthorizationServiceprincipal - IAuthorizationPrincipalowner - java.lang.Stringactivity - java.lang.Stringtarget - java.lang.Stringorg.apereo.portal.AuthorizationException - indicates authorization information could not be retrieved.public boolean doesPrincipalHavePermission(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String owner,
java.lang.String activity,
java.lang.String target,
org.apereo.portal.security.IPermissionPolicy policy)
throws org.apereo.portal.AuthorizationException
policy, owner and
activity must be non-null.doesPrincipalHavePermission in interface org.apereo.portal.security.IAuthorizationServiceprincipal - IAuthorizationPrincipalowner - java.lang.Stringactivity - java.lang.Stringtarget - java.lang.Stringorg.apereo.portal.AuthorizationException - indicates authorization information could not be retrieved.public org.apereo.portal.security.IPermission[] getAllPermissionsForPrincipal(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String owner,
java.lang.String activity,
java.lang.String target)
throws org.apereo.portal.AuthorizationException
IPermissions owner has granted this Principal for the
specified activity and target. Null parameters will be ignored, that is, all
IPermissions matching the non-null parameters are retrieved. So,
getPermissions(principal,null, null, null) should retrieve all IPermissions
for a Principal. Note that this includes IPermissions
inherited from groups the Principal belongs to.getAllPermissionsForPrincipal in interface org.apereo.portal.security.IAuthorizationServiceprincipal - IAuthorizationPrincipalowner - java.lang.Stringactivity - java.lang.Stringtarget - java.lang.Stringorg.apereo.portal.AuthorizationException - indicates authorization information could not be retrieved.public org.apereo.portal.security.IAuthorizationPrincipal[] getAuthorizedPrincipals(java.lang.String owner,
java.lang.String activity,
java.lang.String target)
throws org.apereo.portal.AuthorizationException
IAuthorizationPrincipals that have IPermissions for the
given owner, activity and target.owner - activity - target - org.apereo.portal.AuthorizationExceptionprotected org.apereo.portal.security.IPermissionPolicy getDefaultPermissionPolicy()
public org.apereo.portal.groups.IGroupMember getGroupMember(org.apereo.portal.security.IAuthorizationPrincipal principal)
throws org.apereo.portal.groups.GroupsException
getGroupMember in interface org.apereo.portal.security.IAuthorizationServiceprincipal - org.apereo.portal.security.IAuthorizationPrincipalorg.apereo.portal.groups.GroupsExceptionpublic org.apereo.portal.security.IPermission[] getPermissionsForOwner(java.lang.String owner,
java.lang.String activity,
java.lang.String target)
throws org.apereo.portal.AuthorizationException
IPermissions owner has granted for the specified activity and
target. Null parameters will be ignored, that is, all IPermissions matching the
non-null parameters are retrieved.getPermissionsForOwner in interface org.apereo.portal.security.IAuthorizationServiceowner - java.lang.Stringactivity - java.lang.Stringtarget - java.lang.Stringorg.apereo.portal.AuthorizationException - indicates authorization information could not be retrieved.public org.apereo.portal.security.IPermission[] getPermissionsForPrincipal(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String owner,
java.lang.String activity,
java.lang.String target)
throws org.apereo.portal.AuthorizationException
IPermissions owner has granted this Principal for the
specified activity and target. Null parameters will be ignored, that is, all
IPermissions matching the non-null parameters are retrieved. So,
getPermissions(principal,null, null, null) should retrieve all IPermissions
for a Principal.getPermissionsForPrincipal in interface org.apereo.portal.security.IAuthorizationServiceprincipal - IAuthorizationPrincipalowner - java.lang.Stringactivity - java.lang.Stringtarget - java.lang.Stringorg.apereo.portal.AuthorizationException - indicates authorization information could not be retrieved.public org.apereo.portal.security.IPermission[] getPermissionsForTarget(java.lang.String owner,
java.lang.String target)
public org.apereo.portal.security.IAuthorizationPrincipal getPrincipal(org.apereo.portal.security.IPermission permission)
throws org.apereo.portal.AuthorizationException
IAuthorizationPrincipal associated with the IPermission.getPrincipal in interface org.apereo.portal.security.IAuthorizationServicepermission - IPermissionorg.apereo.portal.AuthorizationExceptionpublic java.lang.String getPrincipalString(org.apereo.portal.security.IAuthorizationPrincipal principal)
IPermission to represent an
IAuthorizationPrincipal.getPrincipalString in interface org.apereo.portal.security.IAuthorizationServiceprincipal - org.apereo.portal.security.IAuthorizationPrincipalpublic org.apereo.portal.security.IPermission[] getUncachedPermissionsForPrincipal(org.apereo.portal.security.IAuthorizationPrincipal principal,
java.lang.String owner,
java.lang.String activity,
java.lang.String target)
throws org.apereo.portal.AuthorizationException
IPermissions owner has granted this Principal for the
specified activity and target. Null parameters will be ignored, that is, all
IPermissions matching the non-null parameters are retrieved. So,
getPermissions(principal,null, null, null) should retrieve all IPermissions
for a Principal. Ignore any cached IPermissions.principal - IAuthorizationPrincipalowner - java.lang.Stringactivity - java.lang.Stringtarget - java.lang.Stringorg.apereo.portal.AuthorizationException - indicates authorization information could not be retrieved.public org.apereo.portal.security.IPermission newPermission(java.lang.String owner,
org.apereo.portal.security.IAuthorizationPrincipal principal)
IPermission.newPermission in interface org.apereo.portal.security.IAuthorizationServiceowner - Stringprincipal - IAuthorizationPrincipalpublic org.apereo.portal.security.IPermissionManager newPermissionManager(java.lang.String owner)
newPermissionManager in interface org.apereo.portal.security.IAuthorizationServiceowner - java.lang.Stringpublic org.apereo.portal.security.IAuthorizationPrincipal newPrincipal(java.lang.String key,
java.lang.Class type)
newPrincipal in interface org.apereo.portal.security.IAuthorizationServicekey - java.lang.Stringtype - java.lang.Classpublic org.apereo.portal.security.IAuthorizationPrincipal newPrincipal(org.apereo.portal.groups.IGroupMember groupMember)
throws org.apereo.portal.groups.GroupsException
IGroupMember into an IAuthorizationPrincipal.newPrincipal in interface org.apereo.portal.security.IAuthorizationServicegroupMember - org.apereo.portal.groups.IGroupMemberorg.apereo.portal.groups.GroupsExceptionpublic org.apereo.portal.security.IUpdatingPermissionManager newUpdatingPermissionManager(java.lang.String owner)
newUpdatingPermissionManager in interface org.apereo.portal.security.IAuthorizationServiceowner - java.lang.Stringpublic void removePermissions(org.apereo.portal.security.IPermission[] permissions)
throws org.apereo.portal.AuthorizationException
IPermissions from the back end store.removePermissions in interface org.apereo.portal.security.IAuthorizationServicepermissions - IPermission[]org.apereo.portal.AuthorizationExceptionpublic void updatePermissions(org.apereo.portal.security.IPermission[] permissions)
throws org.apereo.portal.AuthorizationException
IPermissions in the back end store.updatePermissions in interface org.apereo.portal.security.IAuthorizationServicepermissions - IPermission[]org.apereo.portal.AuthorizationException