Package org.opencms.security
Interface I_CmsPermissionHandler
-
- All Known Implementing Classes:
CmsDefaultPermissionHandler
public interface I_CmsPermissionHandler
Permission handler interface.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
I_CmsPermissionHandler.CmsPermissionCheckResult
Enumeration class for the results ofhasPermissions(CmsDbContext, CmsResource, CmsPermissionSet, LockCheck, CmsResourceFilter)
.static class
I_CmsPermissionHandler.LockCheck
Enum for the lock check mode.
-
Field Summary
Fields Modifier and Type Field Description static I_CmsPermissionHandler.CmsPermissionCheckResult
PERM_ALLOWED
Indicates allowed permissions.static I_CmsPermissionHandler.CmsPermissionCheckResult
PERM_DENIED
Indicates denied permissions.static I_CmsPermissionHandler.CmsPermissionCheckResult
PERM_FILTERED
Indicates a resource was filtered during permission check.static I_CmsPermissionHandler.CmsPermissionCheckResult
PERM_NOTLOCKED
Indicates a resource was not locked for a write / control operation.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description I_CmsPermissionHandler.CmsPermissionCheckResult
hasPermissions(CmsDbContext dbc, CmsResource resource, CmsPermissionSet requiredPermissions, I_CmsPermissionHandler.LockCheck checkLock, CmsResourceFilter filter)
Performs a non-blocking permission check on a resource.void
init(CmsDriverManager driverManager, CmsSystemConfiguration systemConfiguration)
Initializes internal variables needed to work.
-
-
-
Field Detail
-
PERM_ALLOWED
static final I_CmsPermissionHandler.CmsPermissionCheckResult PERM_ALLOWED
Indicates allowed permissions.
-
PERM_DENIED
static final I_CmsPermissionHandler.CmsPermissionCheckResult PERM_DENIED
Indicates denied permissions.
-
PERM_FILTERED
static final I_CmsPermissionHandler.CmsPermissionCheckResult PERM_FILTERED
Indicates a resource was filtered during permission check.
-
PERM_NOTLOCKED
static final I_CmsPermissionHandler.CmsPermissionCheckResult PERM_NOTLOCKED
Indicates a resource was not locked for a write / control operation.
-
-
Method Detail
-
hasPermissions
I_CmsPermissionHandler.CmsPermissionCheckResult hasPermissions(CmsDbContext dbc, CmsResource resource, CmsPermissionSet requiredPermissions, I_CmsPermissionHandler.LockCheck checkLock, CmsResourceFilter filter) throws CmsException
Performs a non-blocking permission check on a resource.This test will not throw an exception in case the required permissions are not available for the requested operation. Instead, it will return one of the following values:
Despite of the fact that the results of this method are cached, this method should be as fast as possible since it is called really often.
- Parameters:
dbc
- the current database contextresource
- the resource on which permissions are requiredrequiredPermissions
- the set of permissions required for the operationcheckLock
- the type of lock check to perform for write operationsfilter
- the resource filter to use- Returns:
if the user has sufficient permissions on the resource for the requested operationPERM_ALLOWED
- Throws:
CmsException
- in case of i/o errors (NOT because of insufficient permissions)
-
init
void init(CmsDriverManager driverManager, CmsSystemConfiguration systemConfiguration)
Initializes internal variables needed to work.- Parameters:
driverManager
- the driver managersystemConfiguration
- the system configuration instance
-
-