Role & Permission Management
Configure roles and permissions in EZ-Console.
Overview
EZ-Console uses Role-Based Access Control (RBAC) for authorization. Roles are collections of permissions that can be assigned to users. This guide covers managing roles and permissions through the admin interface.
Accessing Role Management
Navigate to: Authorization → Roles
Understanding Permissions
Permission Structure
Permissions follow a hierarchical structure:
Module:Resource:Action
Examples:
product:view- View productsproduct:create- Create productsproduct:update- Update productsproduct:delete- Delete productsuser:list- List usersuser:create- Create userssystem:settings:view- View system settingssystem:settings:update- Update system settings
Permission Groups
Permissions are organized into groups:
- Product Management: Product-related permissions
- User Management: User-related permissions
- System Settings: System configuration permissions
- Authorization: Role and permission management
Role List
Viewing Roles
The role list displays:
- Role name
- Description
- Number of permissions
- Number of users
- Created date
Searching Roles
- Search by role name or description
- Filter by permission groups
Creating Roles
Create New Role
- Click Create Role button
- Fill in role information:
- Name: Role name (required, unique)
- Description: Role description (optional)
- Click Next to assign permissions
- Select permissions to assign:
- Select entire permission groups
- Or select individual permissions
- Click Save
Permission Assignment
When creating or editing a role:
- Select All: Select all permissions in a group
- Individual Selection: Select specific permissions
- Search: Search for specific permissions
Editing Roles
Update Role Information
- Click on a role in the list
- Click Edit button
- Update role name or description
- Click Save
Modify Permissions
- Open role detail page
- Go to Permissions tab
- Add or remove permissions
- Click Save
Assigning Roles to Users
From Role Page
- Open role detail page
- Go to Users tab
- Click Assign Users
- Select users to assign
- Click Save
From User Page
- Open user detail page
- Go to Roles tab
- Click Assign Roles
- Select roles to assign
- Click Save
Role Hierarchy
Built-in Roles
EZ-Console includes built-in roles:
- Administrator: Full system access
- User: Basic user permissions
Custom Roles
Create custom roles for specific use cases:
- Manager: Management-level permissions
- Editor: Content editing permissions
- Viewer: Read-only permissions
Permission Inheritance
Role Permissions
Users inherit permissions from all assigned roles. If a user has multiple roles, they have the union of all permissions.
Example:
- Role A:
product:view,product:create - Role B:
product:update,product:delete - User with both roles: All four permissions
Best Practices
1. Principle of Least Privilege
Assign only the minimum permissions needed:
- ✅ Good: Assign specific permissions
- ❌ Bad: Assign all permissions "just in case"
2. Use Role Groups
Organize permissions into logical groups:
- Product Management
- User Management
- System Administration
3. Regular Review
Regularly review roles and permissions:
- Remove unused roles
- Update permissions as needed
- Audit user role assignments
4. Document Roles
Document the purpose of each role:
- What the role is for
- Who should have it
- What permissions it includes
Permission Testing
Check User Permissions
- Open user detail page
- Go to Roles tab
- View all assigned roles
- See effective permissions
Test Permission
Use the PermissionGuard component in frontend:
import { PermissionGuard } from 'ez-console';
<PermissionGuard permission="product:create">
<Button>Create Product</Button>
</PermissionGuard>
Related Topics
- Admin Console Overview — Where RBAC is configured in the UI
- User Management — Assigning roles to users
- Authentication & Authorization — Auth implementation (developers)
Need help? Ask in GitHub Discussions.