new IsInAnyRoleRule(action, target, roles, message, priority, stopsProcessing)
Creates a new is-in-any-role rule object.
Parameters:
Name | Type | Argument | Default | Description |
---|---|---|---|---|
action |
bo.rules.AuthorizationAction | The action to be authorized. |
||
target |
bo.shared.PropertyInfo | string | null |
<optional> |
Eventual parameter of the authorization action. |
|
roles |
Array.<string> | The names of the roles the user can be member of. |
||
message |
string | Human-readable description of the rule failure. |
||
priority |
number |
<optional> |
100 | The priority of the rule. |
stopsProcessing |
boolean |
<optional> |
false | Indicates the rule behavior in case of failure. |
Throws:
-
Argument error: The action must be a AuthorizationAction item.
-
Argument error: The target must be a PropertyInfo object in case of property read or write.
-
Argument error: The target must be a non-empty string in case of method execution.
-
Argument error: The target must be null in case of model actions.
-
Argument error: The roles must be an array of string values.
-
Argument error: The message must be a non-empty string.
Extends
Members
-
<readonly> message :string
-
Human-readable description of the rule failure.
Type:
- string
- Inherited From:
-
noAccessBehavior :bo.rules.NoAccessBehavior
-
The action to do when the rule fails.
Type:
- Inherited From:
-
<readonly> priority :number
-
The priority of the rule. Higher number means higher priority.
Type:
- number
- Inherited From:
- Default Value:
-
- 10
-
<readonly> roles :Array.<string>
-
The names of the roles the user can be member of.
Type:
- Array.<string>
-
<readonly> ruleId :string
-
The identifier of the authorization action. Generally it is the action value, or when target is not empty, the action value and the target name separated by a dot, respectively.
Type:
- string
- Inherited From:
-
<readonly> ruleName :string
-
The name of the rule type. The default value usually the name of the constructor, without the Rule suffix.
Type:
- string
- Inherited From:
-
<readonly> stopsProcessing :boolean
-
Indicates whether processing of the rules for a property stops when the rule fails.
Type:
- boolean
- Inherited From:
- Default Value:
-
- false
Methods
-
<virtual> execute(userInfo) → {bo.rules.AuthorizationResult|undefined}
-
Checks if the user is member of a role from the defined group.
Parameters:
Name Type Description userInfo
bo.system.UserInfo Information about the current user.
Returns:
Information about the failure.
- Type
- bo.rules.AuthorizationResult | undefined
-
initialize(action, target, message, priority, stopsProcessing)
-
Sets the properties of the rule.
Parameters:
Name Type Argument Default Description action
bo.rules.AuthorizationAction The action to be authorized.
target
bo.shared.PropertyInfo | string | null <optional>
Eventual parameter of the authorization action.
message
string Human-readable description of the rule failure.
priority
number <optional>
100 The priority of the rule.
stopsProcessing
boolean <optional>
false Indicates the rule behavior in case of failure.
- Inherited From:
Throws:
-
Argument error: The action must be a AuthorizationAction item.
-
Argument error: The target must be a PropertyInfo object in case of property read or write.
-
Argument error: The target must be a non-empty string in case of method execution.
-
Argument error: The target must be null in case of model actions.
-
Argument error: The message must be a non-empty string.
-
result(message, severity) → {bo.rules.AuthorizationResult}
-
Returns the result of the rule executed. If the rule fails and the noAccessBehavior property is bo.rules.NoAccessBehavior#throwError, throws an authorization error.
Parameters:
Name Type Argument Description message
string <optional>
Human-readable description of the rule failure.
severity
bo.rules.RuleSeverity The severity of the failed rule.
- Inherited From:
Throws:
Authorization error: The user has no permission to execute the action.Returns:
The result of the authorization rule.