CASCADED_PERMISSION table
Field | Datatype | Allow Null | Values |
child_oid | CHAR(20) | N | nnnnnnnnnnnnnn00PERM |
parent_oid | CHAR(20) | N | mmmmmmmmmmmmmm00PERM |
As mentioned earlier, if a user has been granted the parent permission, he or she is automatically granted the child permission. For example, a user who has been granted permission to manage user roles is automatically given permission to add roles to the system, that is, to execute the addRole method.
The following record from the CASCADED_PERMISSION table specifies that a user with Manage_Roles permission is automatically given permission to execute the addRole method, that is, add roles to the system:
Sample CASCADED_PERMISSION record
PARENT_OID
CHILD_OID
0000000000003000PERM
0000000000009300PERM
You add a permission to the database by executing a SQL statement like the following (which, in this case, adds the permission that allows a user to access the User Management module):
INSERT INTO PERMISSION (OID, PERM_ID, NAME, DESCRIPTION, CATEGORY, STATUS) VALUES ('0000000000002700PERM', 27,'User_Management', 'Access User Management section',3, 'A');
The values for OID and PERM_ID should be unique and conform to the conventions described above. In other words, the value for PERM_ID should be 1 higher than the currently highest value in the database for this field (as it is a requirement that the values for PERM_ID in the table be consecutive), and the new value should be included in the value for the new OID (immediately before the final 00PERM). The value for the CATEGORY field should designate an existing category (because there is no currently exposed mechanism for adding new categories to the system).
After adding a permission to the database, you should add an entry to
…classes\resources\lmm\properties\ApplicationResources.properties that contains the permission’s description. For example,
User_Management = Access User Management section
The reason for doing this is to enable localization of the application: the permission description in the database is in English, but LMS looks in the appropriate language version of ApplicationResources.properties before it looks in the database when it comes to display permission descriptions on the Role Details page.
Finally, if a permission applies to a navigation item, you need to include a reference to it in navigation.xml in the <permissions>…</permissions> tag of the description of the JSP to which it applies. For example:
70 IBM Lotus Learning Management System Release 1 Customization Guide