Skip to content

Roles and Permissions ​

Roles and Permissions provide a comprehensive access control system for your ACENji applications. This feature allows you to define who can access what content and perform which actions.


Overview ​

Roles and Permissions enable you to:

  • Create user roles with different access levels
  • Control page visibility based on roles
  • Restrict features to specific user types
  • Build secure applications with proper access control

How Roles Work ​

┌─────────────────────────────────────────────────────────────┐
│                    ROLE HIERARCHY                            │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│   ┌──────────────────┐                                      │
│   │      ADMIN       │  ← Full access to all features       │
│   │   (Highest)      │                                      │
│   └────────┬─────────┘                                      │
│            │ Inherits from                                   │
│            ▼                                                 │
│   ┌──────────────────┐                                      │
│   │   FACILITATOR    │  ← Manage content and users          │
│   │                  │                                      │
│   └────────┬─────────┘                                      │
│            │ Inherits from                                   │
│            ▼                                                 │
│   ┌──────────────────┐                                      │
│   │   PARTICIPANT    │  ← Access assigned content           │
│   │                  │                                      │
│   └────────┬─────────┘                                      │
│            │ Inherits from                                   │
│            ▼                                                 │
│   ┌──────────────────┐                                      │
│   │      GUEST       │  ← Limited public access             │
│   │    (Lowest)      │                                      │
│   └──────────────────┘                                      │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Key Concepts ​

Roles ​

A role is a named set of permissions:

RoleTypical Use
AdminSystem administrators with full control
FacilitatorContent managers, moderators
ParticipantStandard users, members
GuestUnauthenticated or limited users

Permissions ​

Permissions are specific capabilities:

Permission TypeExamples
ViewSee content, pages, data
CreateAdd new content, records
EditModify existing content
DeleteRemove content, records
ManageAdminister users, settings

Access Levels ​

Page-Level Access ​

Control who can view entire pages:

SettingWho Can Access
PublicAnyone (no authentication)
AuthenticatedAny logged-in user
Specific RolesOnly selected roles
Owner OnlyOnly the content creator

Element-Level Access ​

Control individual elements:

  • Show/hide based on role
  • Enable/disable based on role
  • Different content for different roles

Configuring Roles ​

Creating a Role ​

  1. Go to Project Settings → Roles and Permissions
  2. Click "+ Add Role"
  3. Enter role name and description
  4. Configure permissions
  5. Save

Role Properties ​

PropertyDescription
NameUnique role identifier
DescriptionWhat this role is for
Inherits FromParent role (optional)
PermissionsList of allowed actions

Permission Types ​

Content Permissions ​

PermissionDescription
content.viewView pages and content
content.createCreate new content
content.editEdit existing content
content.deleteDelete content
content.publishPublish changes

User Permissions ​

PermissionDescription
users.viewView user list
users.createCreate new users
users.editEdit user profiles
users.deleteRemove users
users.assign_rolesChange user roles

System Permissions ​

PermissionDescription
settings.viewView system settings
settings.editModify settings
analytics.viewAccess analytics
logs.viewView system logs

Role Inheritance ​

Roles can inherit from other roles:

Guest Role
├── Permission: content.view

Participant Role (inherits Guest)
├── Permission: content.view (inherited)
├── Permission: content.create
└── Permission: own.edit

Facilitator Role (inherits Participant)
├── Permission: content.view (inherited)
├── Permission: content.create (inherited)
├── Permission: own.edit (inherited)
├── Permission: content.edit
└── Permission: users.view

Applying Access Control ​

To Pages ​

  1. Select a page
  2. Open Page Settings
  3. Find Access Control
  4. Select allowed roles
  5. Save

To Elements ​

  1. Select an element
  2. Open Conditions section
  3. Add role-based condition:
    Show IF user.role in ["Admin", "Facilitator"]

To Features ​

  1. Select the feature element (button, link)
  2. Add condition:
    Enable IF user.role == "Admin"

Common Patterns ​

Admin-Only Features ​

Page: Admin Dashboard
Access: Admin only

Elements:
- User Management Button: Admin only
- System Settings: Admin only
- Delete Actions: Admin only

Self-Service Access ​

User Profile Page
- View own data: All authenticated
- Edit own data: All authenticated
- View others: Facilitator, Admin
- Edit others: Admin only

Tiered Content ​

Free Tier:
- Basic features: Yes
- Premium features: No

Premium Tier:
- Basic features: Yes
- Premium features: Yes

Best Practices ​

  1. Start with least privilege - Give minimum necessary permissions

  2. Use role inheritance - Build on existing roles

  3. Keep roles simple - Fewer roles are easier to manage

  4. Name roles clearly - Descriptive names prevent confusion

  5. Document your roles - Keep notes on what each role does

  6. Test all scenarios - Verify access for each role type

  7. Review regularly - Audit permissions periodically


Security Considerations ​

Defense in Depth ​

  • Don't rely only on UI hiding
  • Validate permissions on the server
  • Log access attempts

Separation of Duties ​

  • Critical actions require multiple approvals
  • Admin actions are logged
  • No single point of failure

Regular Audits ​

  • Review who has what access
  • Remove unused roles
  • Update permissions as needs change

Troubleshooting ​

User Can't Access Page ​

  • Verify user's role assignment
  • Check page access settings
  • Review any conditions blocking access

Wrong Content Showing ​

  • Check visibility conditions
  • Verify role is correct
  • Test with a user who has expected role

Permissions Not Working ​

  • Confirm role configuration
  • Check for conflicting conditions
  • Verify inheritance chain

Questions? ​

If you have any questions, please don't hesitate to contact us. Alternatively, you can submit an issue on this platform.

Useful Links: ​

Shared Concepts - https://help.acenji.com/#/./shared-concepts/index Variable Center - https://help.acenji.com/#/./shared-concepts/variable-center/index User Roles - https://help.acenji.com/#/./getting-started/user-roles/index

Was this article helpful? ​

No-Code App Builder