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.

Feature: Role-Based Access Control

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

Dependencies (1)

Components this component depends on

Related Data Entities (3)

Data entities managed by this component