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 SettingsRoles 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