Information Security 14 min read

Design and Evolution of Permission Management Models (RBAC)

This article explains why permission management is essential, describes various permission models from basic data‑view and edit rights to hierarchical menu and button controls, introduces role‑based access control (RBAC) and its extensions such as role inheritance, constraints, user groups, organizations and positions, and finally presents ideal RBAC table designs for large‑scale systems.

Architecture Digest
Architecture Digest
Architecture Digest
Design and Evolution of Permission Management Models (RBAC)

In daily work, employees constantly need various permissions—network access, code repository, monitoring tools, and data queries—making permission management crucial for data security and operational efficiency.

The permission model can be classified by business type (view, edit) and system design (page, menu, button). Organizing menus hierarchically (e.g., first‑level, second‑level) and representing permissions as a tree makes it easy for users to request the exact rights they need.

Introducing roles creates a bridge between users and permissions. The classic RBAC model allows many‑to‑many relationships among users, roles, and permissions, reducing administrative overhead. Extensions such as role inheritance (RBAC1), constraints (RBAC2), and role‑based separation of duties further refine access control.

User groups, organizations, and positions are higher‑level abstractions that aggregate users with similar responsibilities. Assigning roles to groups or organizational units enables automatic permission propagation when users join, leave, or change positions, and supports permission grouping for complex systems.

The ideal RBAC model combines standard RBAC, RBAC1, RBAC2, user groups, organizations, and positions into a unified framework capable of handling massive data volumes and intricate business rules, while still allowing simpler models for small teams.

Table designs for both the standard and ideal RBAC models are presented, illustrating the necessary entity tables and relationship tables. The core relationship is captured by the following code snippet:

用户-角色-权限

These designs emphasize role‑mutual exclusion, cardinality constraints, and prerequisite conditions to ensure secure and maintainable permission management.

access controlPermission ManagementauthorizationRBACrole-based accesssecurity model
Architecture Digest
Written by

Architecture Digest

Focusing on Java backend development, covering application architecture from top-tier internet companies (high availability, high performance, high stability), big data, machine learning, Java architecture, and other popular fields.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.