Skip to content

Roles and Permissions ​

The Roles and Permissions feature in the Website Builder allows you to control who can access different parts of your application and what actions they can perform. This is essential for building secure, multi-user applications.


Overview ​

Roles and Permissions enable you to:

  • Define user roles with specific access levels
  • Control page access based on user role
  • Show/hide content for different user types
  • Restrict actions based on permissions

Understanding Roles ​

What is a Role? ​

A role is a named set of permissions that can be assigned to users:

┌─────────────────────────────────────────────────────────────┐
│                      ROLE HIERARCHY                          │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│   ┌──────────────────┐                                      │
│   │      ADMIN       │  ← Full access to everything         │
│   └────────┬─────────┘                                      │
│            │                                                 │
│   ┌────────┴─────────┐                                      │
│   │    FACILITATOR   │  ← Manage content and users          │
│   └────────┬─────────┘                                      │
│            │                                                 │
│   ┌────────┴─────────┐                                      │
│   │    PARTICIPANT   │  ← View and interact with content    │
│   └────────┬─────────┘                                      │
│            │                                                 │
│   ┌────────┴─────────┐                                      │
│   │      GUEST       │  ← Limited view-only access          │
│   └──────────────────┘                                      │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Default Roles ​

ACENji provides default roles that can be used or customized:

RoleDescriptionTypical Permissions
AdminFull system accessAll permissions
FacilitatorContent managementCreate, edit, view
ParticipantStandard userView, submit forms
GuestLimited accessView only

Configuring Roles ​

Accessing Role Settings ​

  1. Open your project settings
  2. Navigate to Roles and Permissions
  3. View and manage available roles

Creating a Custom Role ​

  1. Click "Add Role"
  2. Enter a role name
  3. Configure permissions
  4. Save the role

Role Properties ​

PropertyDescription
NameRole identifier
DescriptionWhat this role is for
PermissionsList of granted permissions
Inherits FromParent role to inherit permissions

Permissions ​

Permissions define specific actions users can take:

Content Permissions ​

PermissionDescription
View ContentSee pages and content
Edit ContentModify content
Create ContentAdd new content
Delete ContentRemove content

User Permissions ​

PermissionDescription
View UsersSee user list
Edit UsersModify user profiles
Create UsersAdd new users
Delete UsersRemove users

Data Permissions ​

PermissionDescription
View DataRead database records
Edit DataModify records
Create DataAdd new records
Delete DataRemove records
Export DataDownload data

Page-Level Access Control ​

Restricting Page Access ​

  1. Select a page in the builder
  2. Open page settings
  3. Find Access Control section
  4. Select which roles can access

Access Options ​

OptionDescription
PublicAnyone can view
AuthenticatedAny logged-in user
Specific RolesOnly selected roles
Custom ConditionBased on variable/condition

Example Configuration ​

Page: Admin Dashboard
Access: Specific Roles
Allowed Roles: [Admin, Facilitator]

Result: Only admins and facilitators can view this page

Element-Level Permissions ​

Control visibility and interaction at the element level:

Showing/Hiding Elements ​

  1. Select the element
  2. Open Conditions section
  3. Add a role-based condition

Example ​

Element: Delete Button
Condition: Show only if user.role == "Admin"

Result: Only admins see the delete button

Enabling/Disabling Elements ​

Element: Edit Button
Condition: Enable if user.role in ["Admin", "Facilitator"]

Result: Button is disabled for participants/guests

Tile-Level Permissions ​

Control entire tiles based on roles:

Tile Visibility ​

Tile: Management Panel
Visibility: user.role == "Admin"

Result: Management panel only shows for admins

Tile Access ​

Tile: User Profile Form
Edit Permission: user.role in ["Admin", "Facilitator"] OR user.id == profile.userId

Result: Admins/facilitators can edit any profile
        Users can edit their own profile

Role Assignment ​

Manual Assignment ​

  1. Go to user management
  2. Select a user
  3. Assign role(s)
  4. Save changes

Automatic Assignment ​

Set default role for new users:

Setting: Default Role
Value: "Participant"

Result: New users automatically get Participant role

Dynamic Role Assignment ​

Based on conditions or data:

IF user.subscription == "Premium"
THEN Assign "Premium Member" role

Role-Based Navigation ​

Conditional Navigation Items ​

Show different navigation based on role:

Navigation Menu:
├── Home (all roles)
├── Dashboard (authenticated)
├── Reports (Facilitator, Admin)
├── Settings (Admin only)
└── Logout (authenticated)

Redirect Based on Role ​

After Login:
IF user.role == "Admin"
  → Redirect to Admin Dashboard
ELSE IF user.role == "Facilitator"
  → Redirect to Facilitator Dashboard
ELSE
  → Redirect to User Home

Common Patterns ​

Admin-Only Features ​

Page: System Settings
Access: Admin role only

Elements:
- All visible to Admin
- Hidden for other roles

Self-Service Access ​

User Profile Page
Access: Authenticated users

Conditions:
- View own data: Always
- Edit own data: Always
- View others' data: Facilitator, Admin
- Edit others' data: Admin only

Tiered Access ​

Free User: Basic content
Premium User: All content + extra features
Enterprise User: Premium + admin tools

Best Practices ​

  1. Start with least privilege - Give minimum necessary permissions

  2. Use role inheritance - Build on base roles

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

  4. Document roles - Explain what each role can do

  5. Test thoroughly - Verify access with test accounts

  6. Review regularly - Audit roles and permissions periodically

  7. Handle edge cases - Consider what happens with no role


Troubleshooting ​

User Can't Access Page ​

  • Verify user has correct role
  • Check page access settings
  • Review any conditions that might block access

Element Not Showing ​

  • Check element visibility conditions
  • Verify role-based conditions
  • Test with a user who should see it

Too Much Access ​

  • Review role permissions
  • Check for overly broad conditions
  • Audit what each role can access

Role Not Saving ​

  • Check for validation errors
  • Ensure role name is unique
  • Verify permissions are valid

Questions? ​

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

Useful Links: ​

Website Builder - https://help.acenji.com/#/./create-web-application/website-builder/index Conditions Section - https://help.acenji.com/#/./create-web-application/website-builder/floating-design-panel/conditions-section/index User Roles - https://help.acenji.com/#/./getting-started/user-roles/index

Was this article helpful? ​

No-Code App Builder