Information Security 14 min read

Design and Implementation of a Multi‑Platform RBAC Permission System for DuoliXiong Business

This article introduces the DuoliXiong local‑service platform, analyzes the challenges of its multi‑platform permission management, and details the design of a role‑based access control (RBAC) system—including model selection, database schema, tree‑structured permission representation, multi‑business‑line isolation, and data‑level (row/column) permissions—culminating in a scalable solution for complex B‑end and O‑end applications.

Architecture Digest
Architecture Digest
Architecture Digest
Design and Implementation of a Multi‑Platform RBAC Permission System for DuoliXiong Business

DuoliXiong, a Baidu‑owned local‑life service platform, offers low‑price, high‑quality services across categories such as dining, hotels, and entertainment, and operates through multiple channels including Baidu’s search engine, Baidu Mini‑Programs, and WeChat.

The platform’s architecture is divided into three layers: the ecosystem scene layer, the platform support layer, and the foundational construction layer, each comprising numerous independent systems (merchant platform, operation platform, audit platform, etc.) that create a complex permission‑management landscape.

Key permission challenges identified are: heterogeneous account systems across platforms, extensive role hierarchies with collaborative workflows, and language‑diverse implementations that demand easy integration.

To address these, the team adopts a role‑based access control (RBAC) approach, explaining its four core components (Subject, Role, Session, Permission) and the four RBAC rules (role assignment, role authorization, permission authorization). Four RBAC model variants—Flat, Hierarchical, Constrained, and Symmetric—are evaluated, with the Flat RBAC model selected for its simplicity.

The permission system’s core responsibilities are defined as menu‑level control, functional‑group control, button‑level control, and multi‑business‑line support. Corresponding database tables are designed for business lines, users, roles, and permissions, each linked by a prod_id to enforce business‑line isolation.

Permissions are stored in a single tree‑structured table that mirrors the front‑end page hierarchy, enabling fine‑grained control over menus, pages, feature groups, and individual buttons. ER diagrams illustrate the relationships among business‑line, user, role, and permission entities.

Beyond functional permissions, the article discusses data permissions (row and column level), proposing a rule‑based mechanism that binds data‑access policies to roles, thereby allowing different users to see or edit only authorized data subsets.

Finally, the system is already powering DuoliXiong’s B‑end and O‑end platforms and is being extended to additional internal tools, with future work focusing on broader platform coverage and continued refinement of data‑level access controls.

backend architectureMicroservicesaccess controlRBACpermission systemData Permissions
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.