Roles - adriana-401-advanced-javascript/seattle-javascript-401n13 GitHub Wiki
Limiting access to information is crucial to the safety of your code base and customers. If you build a program that people access, it is smart to limit users to "roles", these roles define the permissions they have to access or modify information within your program. You can give users keys and assign locks to each page, so that only the users with the correct key can access those doors. (no piggybacking)
RBAC vs. ABAC vs. ACL
There are some alternatives for/variations of RBAC, including:
Access control lists (ACL)
An ACL is a means of defining access rights by a given user or user group, to a specific object, such as a document. As a simple example, an ACL could be used to allow users from one department to make changes to a document, while only allowing users from other departments to read the document.
Attribute-based access control (ABAC)
ABAC, sometimes known as policy-based access control, can use a variety of attributes, including user department, time of day, location of access, type of access required, etc. to determine whether a user’s access request should be granted.
https://www.csoonline.com/article/3060780/5-steps-to-simple-role-based-access-control.html https://support.rackspace.com/how-to/overview-role-based-access-control-rbac/