Role-Permission Assignments
Connect roles with permissions
Overview
Role-Permission Assignments link roles with the specific permissions they should have. This is how you define what each role can do in the system.
Understanding the Connection
- Roles define positions or functions (e.g., "Campus Coordinator")
- Permissions define specific actions (e.g., "read:students", "write:courses")
- Role-Permissions connect them (e.g., "Campus Coordinator can read:students and write:attendance")
Users assigned a role automatically get all permissions assigned to that role.
Viewing Role-Permissions
The Role-Permissions page shows:
- Role name and level
- Permission name (action:resource)
- Resource and action details
- When assignment was created
- Actions (View, Remove)
You can filter by:
- Specific role
- Specific permission
- Resource type
Assigning Permissions to a Role
Method 1: Single Permission Assignment
From Roles Page:
- View a role's details
- Click "Add Permission"
- Select permission from dropdown
- Click "Assign"
From Permissions Page:
- View a permission's details
- Click "Assign to Role"
- Select role from dropdown
- Click "Assign"
Method 2: Batch Assignment
For assigning multiple permissions to a role at once:
- Navigate to Backend > Role-Permissions
- Click "Batch Assign Permissions"
- Select the role
- Select multiple permissions
- Click "Assign All"
Viewing Assignments
View by Role
See all permissions assigned to a specific role:
- Navigate to Roles
- Click View on the role
- See "Assigned Permissions" section
View by Permission
See which roles have a specific permission:
- Navigate to Permissions
- Click View on the permission
- See "Assigned to Roles" section
Removing Permission from Role
- Find the role-permission assignment
- Click Remove button
- Confirm removal
Removing a permission from a role immediately affects all users with that role. They lose that specific capability.
Permission Assignment Strategies
By User Type
Volunteer Roles:
- Minimal read permissions
- Limited write permissions for their work area
- No delete or management permissions
Coordinator Roles:
- Read permissions for their scope
- Write permissions for day-to-day operations
- Some management permissions for their area
Lead Roles:
- Full read access
- Write and delete for their department
- Some settings management
- Export and reporting permissions
Admin Roles:
- Full permissions across all areas
- Settings and configuration management
- User and role management
By Feature Area
Student Management Feature:
read:studentswrite:studentsdelete:studentsexport:students
Academic Feature:
write:attendancewrite:schedulesread:feedbacks
Settings Management:
manage:campusesmanage:eventsmanage:eventeditionsmanage:sourcingtypes
Common Role-Permission Combinations
Campus Volunteer
Permissions:
read:students- View student informationwrite:attendance- Record attendanceread:classes- View class details
Use Case: Volunteers at campuses who need to support class operations.
Campus Coordinator
Permissions:
read:students- View all student informationwrite:students- Add and edit studentswrite:attendance- Record attendancewrite:schedules- Manage class schedulesread:reports- View performance reportsexport:reports- Download report data
Use Case: Staff managing student operations at a specific campus.
Academic Lead
Permissions:
manage:students- Full student managementmanage:attendance- Full attendance trackingmanage:schedules- Full scheduling managementread:reports- View all reportsexport:reports- Export datawrite:courses- Manage coursesmanage:campuses- Campus administration
Use Case: Senior staff overseeing academic operations.
System Administrator
Permissions:
- All permissions in the system
- Including
manage:users,manage:roles,manage:permissions
Use Case: Technical administrators managing the system.
Best Practices
Permission Assignment
-
Start Minimal:
- Assign only necessary permissions
- Add more as needed
- Easier to add than remove
-
Group Logically:
- Assign related permissions together
- Complete feature access at once
- Avoid partial functionality
-
Test Thoroughly:
- Create test accounts with role
- Verify permissions work as expected
- Check both allowed and restricted actions
Maintenance
-
Regular Reviews:
- Quarterly audit of role-permission assignments
- Remove unnecessary permissions
- Add new permissions as features are added
-
Document Rationale:
- Keep notes on why permissions were assigned
- Helps future administrators understand design
- Useful during audits
-
Version Control:
- Track changes to role-permission assignments
- Document major permission changes
- Maintain change log
Security
-
Principle of Least Privilege:
- Only assign permissions actually needed
- Avoid blanket "manage" permissions
- Use specific read/write instead
-
Separate Critical Permissions:
- Delete permissions assigned carefully
- Settings management limited to admins
- Financial permissions separately controlled
-
Review After Incidents:
- If security issues arise, review related permissions
- Tighten permissions if necessary
- Update documentation
Common Questions
Q: How many permissions should a typical role have?
A: Varies by role. Volunteers might have 3-5, coordinators 8-15, administrators 20+. Focus on what's needed, not a specific count.
Q: Can I assign the same permission to multiple roles?
A: Yes, absolutely. Multiple roles can and should have common permissions like read:students.
Q: What happens if I remove a permission from a role?
A: All users with that role immediately lose that permission. They won't be able to perform that action anymore.
Q: Can a user have permissions from multiple roles?
A: Yes, if a user has multiple role assignments (with different scopes), they get all permissions from all their roles.
Q: How do I give a role full access to a feature?
A: Assign all related permissions for that feature (read, write, delete, manage, export, etc.).
Q: Can I temporarily assign a permission to a role?
A: No, but you can create a temporary role with specific permissions and assign users to it with expiration dates.
Related Topics
- RBAC Overview - Understand the access control system
- Roles Management - Create and manage roles
- Permissions Management - Define system permissions
- User Access - Assign roles to users