Role Guard Widget
Component Detail
User Interface
medium complexity
mobile
1
Dependencies
0
Dependents
3
Entities
0
Integrations
Description
Flutter widget that conditionally renders UI elements and navigation items based on the current user's decoded JWT role claims. Enforces client-side access control by wrapping screens and actions that require specific roles.
role-guard-widget
Responsibilities
- Read decoded role claims from in-memory session state provided by RBAC Service
- Conditionally render or hide child widgets based on required permission level
- Redirect unauthorized navigation attempts to appropriate fallback screens
- Reflect role changes immediately upon token refresh without requiring app restart
Interfaces
RoleGuardWidget({required UserRole requiredRole, required Widget child, Widget? fallback})
hasPermission(UserRole role, String action) -> bool
getVisibleNavItems(UserRole role) -> List<NavItem>
Relationships
Related Data Entities (3)
Data entities managed by this component