Class AccessControlList
Defined in File AccessControlList.h
Page Contents
Inheritance Relationships
Base Type
public axr::sdk::EntityBase
(Class EntityBase)
Class Documentation
-
class AccessControlList : public axr::sdk::EntityBase
The access control list provides a generic interface for the storage of user and roles permissions. Each ACL object represents the permission set for a single entity within the system. The entity is identified generically by its universally unique identifier (
uuid
). Each entry in the ACL records the permissions available to a particular user or role.Each permission can be one of the following actions:
Create
- The user or role can create a new record or object.Read
- The user or role can read the record or object.Update
- The user or role can modify existing records or objects.Delete
- The user or role can delete existing records or objects.Special
- The user or role has special privileges to edit the ACL permissions.Full
- The user or role has total control over the record or object and supersedes any of the above.
For each of the above actions the user or role will be granted either an
allow
permission or adeny
permission. If anallow
is granted, the user or role has permission to perform that action. If adeny
is set, then the user or role is denied that action. If no explicitallow
ordeny
is set then the user or role will inherit the permission from a parent role or ACL.ACLs can be chained via single inheritance through the specification of the
parentUid
. This allows the ability to create complex trees of permissions that can easily inherit control schemes to make the definition of permissions easier.- Author
Jean-Philippe Steinmetz info@acceleratxr.com
Public Functions
-
inline AccessControlList()
-
inline AccessControlList(const AccessControlList &value)
-
inline AccessControlList(AccessControlList &&value)
-
inline virtual ~AccessControlList()
-
inline virtual AccessControlList &SetProperties(const std::map<utility::string_t, Variant> &value) override
Sets the object’s underlying map of stored values.
-
inline virtual AccessControlList &SetProperties(std::map<utility::string_t, Variant> &&value) override
Sets the underlying map of stored values for the object.
-
inline virtual AccessControlList &SetProperty(const utility::char_t *name, const Variant &value) override
Sets the property of the given name to the provided value.
-
inline virtual AccessControlList &SetProperty(const utility::string_t &name, const Variant &value) override
Sets the property of the given name to the provided value.
-
inline virtual AccessControlList &SetRemoteUrl(const utility::string_t &url) override
Returns the URL of the remote server endpoint where the object is managed.
-
inline virtual AccessControlList &SetUid(const utility::string_t &value) override
Sets the value of the Uid property.
- Parameters
value – The value to set.
-
inline virtual AccessControlList &SetDateCreated(const datetime &value) override
Sets the value of the DateCreated property.
- Parameters
value – The value to set.
-
inline virtual AccessControlList &SetDateModified(const datetime &value) override
Sets the value of the DateModified property.
- Parameters
value – The value to set.
-
inline virtual AccessControlList &SetVersion(const uint64_t value) override
Sets the value of the Version property.
- Parameters
value – The value to set.
-
virtual void Validate() override
-
std::shared_ptr<AccessControlList> GetParent() const
The parent access control list that this instance inherits permissions from.
-
utility::string_t GetParentUid() const
The universally unique identifier of the parent
AccessControlList
that this object will inherit permissions from.
-
AccessControlList &SetParentUid(const utility::string_t &value)
The universally unique identifier of the parent
AccessControlList
that this object will inherit permissions from.- Parameters
value – The value to set.
-
std::vector<std::shared_ptr<ACLRecord>> GetRecords() const
The list of all permission records associated with this access control list.
The list of all permission records associated with this access control list.
- Parameters
value – The value to set.
Public Static Functions
-
static inline const utility::char_t *ClassName()
Returns the fully qualified name of the class.