@acceleratxr/core_sdk / AccessControlList

Class: AccessControlList#

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 a deny permission. If an allow is granted, the user or role has permission to perform that action. If a deny is set, then the user or role is denied that action. If no explicit allow or deny 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

Hierarchy#

Index#

Constructors#

Properties#

Accessors#

Constructors#

constructor#

+ new AccessControlList(other?: any): AccessControlList

Overrides EntityBase.constructor

Defined in src/models/AccessControlList.ts:119

Parameters:#

Name

Type

other?

any

Returns: AccessControlList

Properties#

dateCreated#

dateCreated: Date = new Date()

Inherited from EntityBase.dateCreated

Defined in src/EntityBase.ts:18

The date and time that the object was created.


dateModified#

dateModified: Date = new Date()

Inherited from EntityBase.dateModified

Defined in src/EntityBase.ts:23

The date and time that the object was last modified.


parent#

Optional parent: AccessControlList

Defined in src/models/AccessControlList.ts:110

The parent access control list that this instance inherits permissions from.


parentUid#

Optional parentUid: undefined | string

Defined in src/models/AccessControlList.ts:115

The universally unique identifier of the parent AccessControlList that this object will inherit permissions from.


records#

records: ACLRecord[] = []

Defined in src/models/AccessControlList.ts:119

The list of all permission records associated with this access control list.


uid#

uid: string = uuid.v4()

Inherited from EntityBase.uid

Defined in src/EntityBase.ts:13

The universally unique identifier of the object.


version#

version: number = 0

Inherited from EntityBase.version

Defined in src/EntityBase.ts:28

The optimistic locking version of the object.

Accessors#

ClassName#

Staticget ClassName(): string

Defined in src/models/AccessControlList.ts:105

Returns: string