Class CheckRightsCondition
java.lang.Object
org.ametys.plugins.workflow.AbstractWorkflowComponent
org.ametys.plugins.workflow.component.CheckRightsCondition
- All Implemented Interfaces:
com.opensymphony.workflow.Condition
,Disposable
,Initializable
,LogEnabled
,Serviceable
- Direct Known Subclasses:
AmetysObjectCheckRightsCondition
,ContentCheckRightsCondition
,CreateContentRightCondition
,ExplorerNodeCheckRightsCondition
public class CheckRightsCondition
extends AbstractWorkflowComponent
implements com.opensymphony.workflow.Condition, Initializable, Disposable
Condition for checking rights of an user for the current action.
The following configuration can be used for checking rights:
<condition type="avalon"> <arg name="role">org.ametys.plugins.workflow.component.CheckRightsCondition</arg> <arg name="right">Right_Edition</arg> [ <arg name="context">/cms</arg>] </condition>
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final String
Key for getting the context to use.protected static final String
Default context to use.protected static final String
Key for getting the right to check.protected RightManager
Rights manager available to subclasses.static final String
Boolean to force the CheckRightsCondition to returns ok.Fields inherited from class org.ametys.plugins.workflow.AbstractWorkflowComponent
_logger, _manager, CONTEXT_PARAMETERS_KEY, FAIL_CONDITIONS_KEY, RESULT_MAP_KEY, WORKFLOW_ERRORS_KEY, WORKFLOW_WARNS_KEY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
_checkRights
(Map transientVars, Map args, UserIdentity user, String rightNeeded) Check if the current user has the needed right.protected Object
_computeContext
(Map transientVars, Map args, UserIdentity user, String right) Compute the context to use.
Default implementation uses standard context"/cms"
.protected boolean
checkMultipleAndRights
(UserIdentity user, String[] rights, Object context) Check that a user has all the given rights on a context (AND condition).protected boolean
checkMultipleOrRights
(UserIdentity user, String[] rights, Object context) Check that a user has at least one of the given rights on a context (OR condition).void
dispose()
protected boolean
hasRight
(UserIdentity user, String right, Object context) Test if a user has a right on a context.void
boolean
passesCondition
(Map transientVars, Map args, com.opensymphony.module.propertyset.PropertySet ps) Methods inherited from class org.ametys.plugins.workflow.AbstractWorkflowComponent
addWorkflowError, addWorkflowWarning, enableLogging, getConditionFailures, getContextParameters, getResultsMap, getUser, service
-
Field Details
-
FORCE
Boolean to force the CheckRightsCondition to returns ok. -
__DEFAULT_CONTEXT
Default context to use.- See Also:
-
__RIGHT_KEY
Key for getting the right to check.- See Also:
-
__CONTEXT_KEY
Key for getting the context to use.- See Also:
-
_rightManager
Rights manager available to subclasses.
-
-
Constructor Details
-
CheckRightsCondition
public CheckRightsCondition()
-
-
Method Details
-
initialize
- Specified by:
initialize
in interfaceInitializable
- Throws:
Exception
-
passesCondition
public boolean passesCondition(Map transientVars, Map args, com.opensymphony.module.propertyset.PropertySet ps) throws com.opensymphony.workflow.WorkflowException - Specified by:
passesCondition
in interfacecom.opensymphony.workflow.Condition
- Throws:
com.opensymphony.workflow.WorkflowException
-
_checkRights
protected boolean _checkRights(Map transientVars, Map args, UserIdentity user, String rightNeeded) throws com.opensymphony.workflow.WorkflowException Check if the current user has the needed right.- Parameters:
transientVars
- variables that will not be persisted.args
- the properties for this function invocation.user
- the current user.rightNeeded
- the needed right.- Returns:
true
if the user has the right,false
otherwise.- Throws:
com.opensymphony.workflow.WorkflowException
- if an error occurs.
-
checkMultipleAndRights
Check that a user has all the given rights on a context (AND condition).- Parameters:
user
- the user.rights
- the rights to check.context
- the right context.- Returns:
- true if the user has all the rights, false otherwise.
-
checkMultipleOrRights
Check that a user has at least one of the given rights on a context (OR condition).- Parameters:
user
- the user.rights
- the rights to check.context
- the right context.- Returns:
- true if the user has at least one right, false otherwise.
-
hasRight
Test if a user has a right on a context.- Parameters:
user
- the userright
- the right to check.context
- the right context.- Returns:
- true if the user has the right, false otherwise.
-
_computeContext
protected Object _computeContext(Map transientVars, Map args, UserIdentity user, String right) throws com.opensymphony.workflow.WorkflowException Compute the context to use.
Default implementation uses standard context"/cms"
.- Parameters:
transientVars
- variables that will not be persisted.args
- the properties for this function invocation.user
- the current user.right
- the needed right.- Returns:
- the computed context.
- Throws:
com.opensymphony.workflow.WorkflowException
- if an error occurs.
-
dispose
- Specified by:
dispose
in interfaceDisposable
-