Backend Development 8 min read

Designing a Dynamic Permission Management System for Frontend‑Backend Separated Applications

This article explains a dynamic permission management solution for modern frontend‑backend separated applications, detailing user‑role‑page‑function relationships, database schema design, menu rendering, fine‑grained function controls, and backend API authorization to handle flexible, real‑time access rights.

Architecture Digest
Architecture Digest
Architecture Digest
Designing a Dynamic Permission Management System for Frontend‑Backend Separated Applications

With the rise of frontend frameworks like React, Angular, and Vue, frontend‑backend separation has become common, but it introduces challenges in permission control, especially when users, roles, and permissions are dynamic.

The proposed solution uses a user‑role‑page permission model for a backend management system, allowing flexible creation, deletion, and adjustment of users, roles, and page permissions.

Pages are defined as frontend routes, while menus are stored in the database and rendered based on the user's permissions, ensuring only authorized menus and pages are displayed.

Fine‑grained function permissions are introduced to control specific actions (e.g., creating a user) beyond page-level access, with each function assigned a unique identifier.

Roles aggregate multiple page and function permissions, and users can be assigned one or more roles, inheriting all associated permissions.

The frontend fetches the complete menu and page structure from the database, filters it according to the logged‑in user's permissions, and uses route guards to prevent unauthorized access.

Backend permission control follows the same hierarchy: user → role → page/function → API, checking the user's permission list before allowing API calls.

An example database schema illustrates the entity tables (users, roles, pages, functions) and their relationship tables, forming the basis for the permission system.

backendfrontendaccess controlpermissionVuemenurole-based
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.