User internals and API
Database tables
The following database tables store user data:
Database table | Description |
CMS_User | Stores records representing users. |
CMS_UserSettings | Stores the advanced settings of user accounts. |
CMS_UserSite | Stores relationships between users and sites. Each entry indicates that a specific user account is available on a given site. |
CMS_UserCulture | Stores relationships between users and cultures. Each entry indicates that a user may edit the content of documents belonging to a specified culture/language (if the given user has the Editor privilege level). |
CMS_UserMacroIdentity | Security signature used when signing macro expressions. Signatures prevent macros from accessing or displaying data for which the author is not authorized. See Working with macro signatures. |
The following database tables store the data of user roles, permissions and memberships:
Database table | Description |
CMS_Role | Stores records representing roles. |
CMS_UserRole | Stores relationships between users and roles. Each entry indicates that a specific role is assigned to a given user. Also stores the expiration date for roles that are assigned for a limited time period. |
CMS_Membership | Stores records representing memberships. |
CMS_MembershipUser | Stores relationships between users and memberships. Each entry indicates that a user belongs to a specific membership. Also stores the expiration date for roles that are assigned for a limited time period. |
CMS_MembershipRole | Stores relationships between roles and memberships. Each entry indicates that a membership includes a specific role. |
CMS_Permission | Stores the system’s permissions. |
CMS_RolePermission | Stores relationships between roles and permissions. Each entry indicates that a role has a specific permission. |
CMS_RoleUIElement | Stores UI personalization settings for roles. |
CMS_RoleApplication | Stores the default application content of the system dashboard for individual roles (the system uses UI elements to represent applications). Users can individually adjust their own dashboard and override these default settings. |
CMS_ACLItem | Stores page-level permissions, and their relationships with users or roles. |
CMS_ACL | Stores relationships between ACL items and individual pages (tree nodes). |