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).