heeexy/springboot-shiro-vue

提供一套基于Spring Boot-Shiro-Vue的权限管理思路.前后端都加以控制,做到按钮/接口级别的权限。(当前新版本已移除shiro依赖,简化了配置)

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 4 minutes ago
Added to GitGenius on September 14th, 2026
Created on November 17th, 2017
Open Issues & Pull Requests: 7 (+0)
GitHub issues: Enabled
Number of forks: 1,755
Total Stargazers: 4,656 (+0)
Total Subscribers: 189 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 0.9 hours
Mean response time: 17.6 days
90th percentile: 88.0 days
Tracked items: 5

Most active contributors

Sign in to see contributor activity.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 3
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 840 days
Stale 30+ days: 3
Stale 90+ days: 3

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

springboot-shiro-vue is a full-stack permission management system that demonstrates role-based access control across Spring Boot and Vue.js applications.

The system addresses the complexity of permission verification by implementing a core principle: backend interfaces validate permissions directly rather than roles. This approach treats roles as administrative tools for organizing and assigning permissions, while actual authorization checks operate at the permission level. The architecture separates concerns between frontend and backend. The backend enforces security through permission validation on API endpoints using custom annotations and aspect-oriented programming. The frontend receives permission and menu information from the backend after login, using this data to dynamically generate routes and conditionally display UI elements like buttons and menus. This dual-layer approach ensures that even if frontend controls are bypassed, the backend remains secure.

The project suits teams building applications that require granular, button-level and interface-level permission control with role-based administration. It works well for systems where users can hold multiple roles simultaneously and where permission hierarchies need to be managed without hardcoding role logic into endpoint validation. The implementation provides a concrete example of RBAC principles applied to a Spring Boot and Vue stack, making it useful as a reference architecture or starting point for similar permission systems.

The codebase shows active refinement toward simplification. A significant architectural change removed the Shiro dependency in favor of custom annotations combined with aspect-oriented programming, reducing configuration complexity while improving extensibility. The project introduced support for multiple roles per user and replaced session-based authentication with token-based login to eliminate cross-origin issues. The frontend implementation builds on established Vue templates and component libraries, incorporating dynamic routing patterns for permission-driven UI generation.