whatisgithub

What is springboot-shiro-vue?

heeexy/springboot-shiro-vue — explained in plain English

Analysis updated 2026-06-26

4,671JavaAudience · developerComplexity · 3/5Setup · moderate

In one sentence

A reference implementation for a permission management system with a Spring Boot backend and Vue frontend, where security checks use fine-grained permissions rather than roles, and the UI shows only what each user is allowed to see.

Mindmap

mindmap
  root((springboot-shiro-vue))
    What it does
      Permission management
      Role bundles permissions
      Dynamic menu building
      Button visibility control
    Tech Stack
      Java Spring Boot
      Vue frontend
      AOP annotation
      Token auth
    Use Cases
      Learning reference
      Full-stack starter
      Admin panel base
    Audience
      Java developers
      Vue developers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Build a web app where each user sees only the menus and action buttons their account is permitted to access.

USE CASE 2

Create a backend API that checks individual permissions per endpoint rather than checking broad user roles.

USE CASE 3

Learn how to separate frontend button visibility from backend API protection in a Java and Vue project.

What is it built with?

JavaSpring BootVueAOPJWT

How does it compare?

heeexy/springboot-shiro-vuebepass-org/oblivionant-media/ant-media-server
Stars4,6714,6764,677
LanguageJavaJavaJava
Setup difficultymoderateeasyhard
Complexity3/52/54/5
Audiencedevelopergeneralops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires running a Java Spring Boot server and a Vue frontend dev server separately.

So what is it?

This project is a reference implementation for building a permission management system using Spring Boot on the backend and Vue on the frontend. The README is written in Chinese, but the concept it demonstrates is straightforward: every user in the application can be assigned a set of fine-grained permissions, and both the server and the browser enforce those permissions independently. On the backend, the core idea is that API endpoints check for specific permissions rather than checking what role a user holds. A role (like "admin" or "editor") is just a convenient way to bundle permissions together when setting up accounts, but the actual security check at each endpoint only asks "does this user have the required permission?" not "does this user hold the right role?" This separation makes the system simpler to reason about and easier to extend. On the frontend, after a user logs in the server sends back two lists: the menus this person is allowed to see, and the specific actions (like add, delete, or edit buttons) they are allowed to perform. The Vue application uses these lists to build the navigation dynamically and to show or hide individual buttons on each page. A user who lacks the "article:add" permission simply never sees the button that would let them add an article. Version 2 of the project removed the third-party Shiro security library and replaced it with a custom annotation plus AOP (a Spring feature for applying cross-cutting logic), which reduced the configuration overhead. Authentication now uses tokens instead of server-side sessions, which avoids cross-origin issues common in separated frontend and backend setups. The project provides working backend code in a folder called "back" and frontend code in a folder called "vue". It is intended as a learning reference and starting point rather than a production-ready framework.

Copy-paste prompts

Prompt 1
I'm using the springboot-shiro-vue architecture. How do I add a new permission called 'report:export' and assign it to the editor role in Spring Boot?
Prompt 2
Using springboot-shiro-vue as a reference, write a Vue component that shows or hides an Add Article button based on whether the logged-in user has the 'article:add' permission.
Prompt 3
Explain the AOP annotation approach in springboot-shiro-vue v2 that checks permissions without Shiro. Show me how to apply it to a new REST endpoint.
Prompt 4
How does token-based auth replace server-side sessions in springboot-shiro-vue, and how do I handle token refresh on the Vue side?

Frequently asked questions

What is springboot-shiro-vue?

A reference implementation for a permission management system with a Spring Boot backend and Vue frontend, where security checks use fine-grained permissions rather than roles, and the UI shows only what each user is allowed to see.

What language is springboot-shiro-vue written in?

Mainly Java. The stack also includes Java, Spring Boot, Vue.

How hard is springboot-shiro-vue to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is springboot-shiro-vue for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.