User Access Control

Our software platform utilizes a comprehensive access control system to ensure that users have the appropriate permissions to interact with content based on their roles and the scope of their access. This document provides a simple and easy-to-understand explanation of the key components and how they work together.

Key Components

  1. User: A person who can log into the platform.

  2. Content Types: Defined within the organization, representing the types of content you wish to store.

  3. Content Items: Content records in the database, created within at least one scope, but can be contained within multiple scopes simultaneously.

  4. Role: A record that lists all actions a particular user might be able to perform, such as 'create article', 'delete article', etc. Examples include 'Website Viewer', 'Manager', and 'Volunteer'.

  5. Scope: A record representing a particular area/domain of your database, such as geographical locations ('Australia', 'United States') or departments within your organization ('HR', 'Finance', 'Customer Support'). Scopes can be nested in a tree structure, similar to folders.

  6. Access Pass: A record that combines 'Roles' and 'Scopes', which is then assigned to Users, granting them permissions from the specified roles within the domains of the specified scopes.

Advantages to our approach

  • Content can be segmented and compartmentalised using scopes

  • Access Passes can be updated at any time, and all users who hold that access pass will be granted the permissions that access pass contains in realtime.

  • Multiple Access Passes can be held by a user at any point in time, This allows you to cater for sophisticated access control that more closely mirrors reality.

Example Use Cases

Example: Photo Management Application
Example: School Management System
Example: Forum Moderation

FAQs

How do I create a new user and assign them access passes?
Can a user have multiple access passes? If so, how do the permissions combine?
Is there a limit to the number of roles, scopes, or access passes that can be created?
How do I modify or revoke a user's access pass?
Can scopes be rearranged or modified after they have been created?
What happens to the content within a scope if the scope is deleted?
Can a content item belong to multiple scopes simultaneously?
Is there a way to view all the users who have access to a specific scope?
How do I troubleshoot issues related to access control, such as a user not being able to access content they should have permission for?