Define a User Class
You define a user class attribute to calculate user information that is not uniquely referenced by one or more user directories. The result of the calculation can only be TRUE or FALSE. The result either applies to the user or it does not.
Note: The following procedure assumes that you are creating an object. You can also copy the properties of an existing object to create an object. For more information, see Duplicate Policy Server Objects.
To create a user class
The Create Named Expression pane opens.
The Create Named Expression: Name pane opens.
Note: You can click Help for a description of fields, controls, and their respective requirements.
Note: The expression must be a Boolean expression.
The named expression is marked as disabled, is not listed on the Expression Editor pane, and cannot be called by another expression, named or unnamed.
The named expression is marked as private and can be called by other named expressions, but not by unnamed expressions.
The Expression Editor pane opens.
The Create Named Expression task is submitted for processing.
You can use the expression editor to:
Note: If you prefer to enter an expression directly, you can click Cancel and return to the Create Expression: Name pane, where you can type the expression in the Expression field on the Add Named Expression group box.
Building a Boolean expression in the expression editor is a two-part process. The parts of the process can be repeated in any order:
In the first part of the process, you can create conditions and add them to the Infix Notation group box. A condition is a simple Boolean expression that consists of a single SiteMinder function or operation. In the editor, a function can have up to three parameters and has the following format:
FUNCTION_NAME(parameter_1[, parameter_2][, parameter_3])
An operation requires two operands and has the following format:
left_operand operator right_operand
Since conditions are Boolean expressions, they result in a Boolean value. If a condition contains a function or operation that results in a string, it will be converted to a Boolean value. Specifically, the following string values are converted to TRUE: "TRUE", "true", "YES", and "yes". All other string values are converted to FALSE.
Likewise, if a condition contains a function or operation that results in a number, it will be converted to a Boolean value. All non-zero numbers are converted to TRUE, while zero is converted to FALSE.
Each condition is displayed on a separate line in the field on the Infix Notation group box and is connected to the condition in the line above by one or two Boolean operators, as follows:
condition_1 AND | OR | XOR [NOT] condition_2
In the second part of the process, you can edit the expression by modifying and deleting the conditions, changing the parentheses that group the conditions, and by changing the Boolean operators that connect the conditions in the field on the Infix Notation group box. For example, you can change how the conditions are grouped:
(condition_1 AND condition_2) OR NOT condition_3
can become
condition_1 AND (condition_2 OR NOT condition_3)
Create a Condition Containing a Function
You can create a condition containing a built-in SiteMinder function and add the condition to an expression in the expression editor.
To create a condition containing a built-in SiteMinder function
Note: Clicking Named Expression opens the Variable Lookup group box.
Note: Clicking Named Expression opens the Variable Lookup group box.
The specified function is added to the Infix Notation and Resulting Notation group boxes.
Create a Condition Containing an Operation
You can create a condition containing a built-in SiteMinder operation and add the condition to an expression in the expression editor.
To create a condition containing a built-in SiteMinder operation
Note: Clicking Named Expression opens the Variable Lookup group box.
Note: Clicking Named Expression opens the Variable Lookup group box.
The specified operation is added to the Infix Notation and Resulting Notation group boxes.
How to Edit an Expression
Each condition that you create in the expression editor is displayed on a separate line in the field on the Infix Notation group box. As you build an expression, you can change the parentheses that group the conditions and the Boolean operators that connect the conditions by using the buttons on the Infix Notation group box.
Editing an expression is a three-step process. The first step includes four options, which can be repeated in any order:
Modify a Condition in an Expression
You can modify a condition in an expression by clicking the Modify button on the Infix Notation group box in the expression editor.
To modify a condition in an expression
The Edit group box opens, and the condition is displayed in the group box.
Delete a Condition from an Expression
You can delete one or more conditions from an expression by clicking the Remove button on the Infix Notation group box in the expression editor.
To delete a condition from an expression
Note: To select multiple adjacent conditions, hold down the Shift key while clicking.
The selected condition is removed from the expression.
Note: If multiple conditions are selected, clicking Remove deletes them one at a time.
Group the Conditions in an Expression
You can change the grouping of conditions in an expression by clicking the buttons that add and remove parentheses on the Infix Notation group box in the expression editor.
To change the grouping of conditions in an expression
Note: To select multiple adjacent conditions, hold down the Shift key while clicking.
( )
Adds parentheses to the outside of the selected conditions.
Example:
condition_1
AND condition_2
becomes
(condition_1
AND condition_2)
Remove( )
Deletes parentheses from the outside of the selected conditions.
Example:
(condition_1
OR condition_2
OR condition_3)
becomes
condition_1
OR condition_2
OR condition_3
The edited expression is displayed in the fields on the Resulting Notation and Infix Notation group boxes in the expression editor.
Change a Boolean Operator in an Expression
You can change a Boolean operator in an expression by clicking one of the following buttons on the Infix Notation group box in the expression editor:
To change a Boolean operator in an expression
Note: To select multiple adjacent conditions, hold down the Shift key while clicking.
And/Or
Switches between the Boolean operators AND and OR.
Example:
AND condition_1
becomes
OR condition_1
Note: The AND/OR button switches XOR to AND.
Not
Switches between adding and removing the Boolean operator NOT.
Example:
AND condition_1
becomes
AND NOT condition_1
XOR
Switches the Boolean operators AND and OR to XOR.
Example:
AND condition_1
becomes
XOR condition_1
Note: The exclusive OR (XOR) operator takes two Boolean operands and returns TRUE if either operand is TRUE, but not both.
Conditional?YES:NO
Adds the conditional decision operator.
Example:
condition_1
becomes
condition_1 ? "YES" : "NO"
The edited expression is displayed in the fields on the Resulting Notation and Infix Notation group boxes in the expression editor.
This use case represents a scenario in which a retail clothing company wants to define a role that prevents customers from making Web-based credit purchases if they have met or exceeded their credit limit. The company policy dictates that customers have a $1,000 credit limit, while company employees have a $2,000 credit limit.
In this use case, the SiteMinder environment contains two user directories:
The following details how you can use attribute mapping, virtual user attributes, and user classes to satisfy the company's credit policy.
Note: IsCustomer is a common name that maps to the same user information in Directories A and B. To access this information, you can use IsCustomer in an expression.
Note: CreditLimit is a common name that maps to the same user information in Directories A and B. To access this information, you can use CreditLimit in an expression.
(IsCustomer AND (#CreditBalance < CreditLimit))
Note: This expression conforms to the syntax rules of a SiteMinder expression.
Note: For more information about EPM Roles, see Enterprise Policy Management.
Copyright © 2012 CA.
All rights reserved.
|
|