Developing Mapping Scripts
OneAccess can map the organization and user attributes of an enterprise to application systems. Application attribute values can be automatically generated using the mapping script. Additionally, the mapped attribute values can be restricted.
The following describes how to develop a mapping definition script.
Code Rule
OneAccess imposes several restrictions on mapping scripts, including disabling Java class, limiting CPU usage time, and restricting memory usage, the script format, and the use of certain functions.
- Do not use Java class.
If the following code is used:
var File = Java.type('java.io.File'); File;
The following exception will be thrown:
java.lang.ClassNotFoundException: java.io.File
- Limit the CPU usage time.
By default, the execution time is limited to 1 second. If the execution time exceeds this limit, an exception will be thrown.
If the following code is used:
do{}while(true);
The following exception will be thrown:
ScriptCPUAbuseException
- Limit the memory usage.
The default size is 10 MB. If the size exceeds this limit, an exception will be thrown.
If the following code is used:
var o={},i=0; while (true) {o[i++] = 'abc'}
The following exception will be thrown:
ScriptMemoryAbuseException
- Restrict the script format.
To ensure proper script formatting, the if, while, and for statements must be enclosed in braces. Failure to do so may result in format errors.
If the following code is used:
var o={},i=0; while (true) o[i++] = 'abc';
The following exception will be thrown:
BracesException
- Restrict the use of certain functions.
The following functions cannot be used in the code. If they are included, they will have no effect.
print echo quit exit readFully readLine load loadWithNewGlobal
Example Scripts
- User attributes
The user object can be used in the script and contains all user attributes. The specific attributes are subject to the attribute code in the attribute definition. For details about managing user attributes, see Managing User Attributes. For details about managing account attributes, see 9.
- Example 1: Map the user registration time:
var createdAt = user.createdAt; var date =new Date(createdAt); date.toISOString();
- Example 2: Map the mobile phone number of a user and hide the four digits in the middle:
var mobile = user.mobile; var result = ""; if(mobile.length == 15) { result = mobile.slice(0,7) + "****" + mobile.slice(-4); } result;
- Example 3: Generate a user email address based on the username:
var username = user.userName; username.toLowerCase()+"@huaweicloud.com";
- Example 1: Map the user registration time:
- Organization attributes
The organization object can be used in the script and contains all the attributes of the organization.
- Example 1: Map an organization name.
var orgName = organization.name; orgName.toString();
- Example 2: Map organization code.
var orgCode = organization.code; orgCode.toString();
- Example 3: Map an organization ID.
var id= organization.id; id.toString();
- Example 1: Map an organization name.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot