RBAC System

Complete guide to Role-Based Access Control (RBAC) in LuaBeans - Community Manager.

Overview

URL: /admin/rbac

Access: Admin only

Purpose: Configure role-based permissions and Discord integration

What is RBAC?

RBAC (Role-Based Access Control) provides:

  • Permission System - Fine-grained permissions

  • Discord Integration - Map Discord roles to permissions

  • Department Access - Control department access

  • Flexible Permissions - Granular control over features

Features

Guild Management

Configure Discord guilds (servers):

  • Link Discord servers to system

  • Map Discord roles to permissions

  • Configure department pairings

Permission Management

Manage permissions:

  • Create custom permissions

  • Assign permissions to roles

  • Configure department-specific permissions

Role Mapping

Map Discord roles:

  • Link Discord roles to departments

  • Configure leadership roles

  • Set default permissions

Usage

Configuring RBAC

  1. Go to AdminRBAC

  2. Configure guild pairing:

    • Enter Discord Guild ID

    • Link to system

  3. Map Discord roles:

    • Select Discord role

    • Assign permissions

    • Link to department (if applicable)

Adding Permissions

  1. Go to RBAC configuration

  2. Create new permission or select existing

  3. Assign to Discord role

  4. Save configuration

Department Pairing

Pair Discord servers to departments:

  1. Go to RBAC configuration

  2. Select department

  3. Enter Discord Guild ID

  4. Configure role mappings

  5. Save configuration

Permission System

Permission Types

Global Permissions:

  • admin - Full system access

  • global.admin - Global admin access

  • global.mod - Global moderator access

Department Permissions:

  • department.leader - Department leadership

  • department.leo.manage - LEO system management

  • department.manage - Department management

  • department.applications - Application management

  • department.forums - Forum management

Permission Hierarchy

Permissions follow a hierarchy:

  1. Admin - Highest level (overrides all)

  2. Global - System-wide permissions

  3. Department - Department-specific permissions

  4. Default - No special permissions

Discord Integration

Role Mapping

Map Discord roles to permissions:

  • Discord roles grant permissions

  • Multiple roles can be combined

  • Department roles map to departments

Guild Pairing

Link Discord servers:

  • Each department can pair with a Discord server

  • One-to-one relationship (one guild per department)

  • Enables automatic role syncing

Configuration Example

Example Configuration

Troubleshooting

Permissions Not Working

Issue: User doesn't have expected permissions

Solutions:

  1. Verify Discord role is mapped

  2. Check user has Discord role

  3. Sync user roles: /syncme command or "Refresh roles"

  4. Verify RBAC configuration

  5. Check permission hierarchy

Role Sync Not Working

Issue: Discord roles not syncing to permissions

Solutions:

  1. Verify guild pairing is correct

  2. Check Discord bot has permissions

  3. Verify bot is running

  4. Check guild ID is correct

  5. Use /syncme command to force sync

Last updated