User Profiles
Learn about associating custom data with a user.
Profiles are a type of model which allows associating custom fields with a specific user. They are only available when user related functionality is enabled. They may either be top level or contained.
For a top level user profile, there may only be a single user profile per user (one-to-one). For a contained user profile, a single user may have as many user profiles as there are containers (one-to-many, profile-per-container). In both cases the user profile must be explicitly created.
Role Associations
Role names are stored on Profiles. Because Profiles may be either be top level or contained, this allows a flexible mechanism for creating role/permission hierarchies.
Take the following model layout:
Models
/📦/👤BasicProfile.yaml
/📦/🌐Account.yaml
/📦/Account/👤AccountProfile.yaml
/📦/Account/🌐Product.yaml
BasicProfile
is a top level Profile type, and AccountUser
is a container based Profile type.
A single user may have only 1 BasicProfile
(one-to-one),
and via containers may have multiple AccountProfile
's (one-to-many).
Any Profile may be associated with a custom Role.
Roles assigned to the top level Profile BasicProfile
will always be in-scope for an authenticated User.
Roles assigned to the contained Profile AccountProfile
will only be in-scope when
the authenticated User is accessing a specific Account
and any of its contained Product
's.
For more information on assigning roles to Profiles, see User Scripting.