Casbin Menu Permission Example (Based on jCasbin)

Clone this repo:

Branches

  1. f60130c feat: add unit tests for Casbin enforcer (#12) by ailiujiarui · 2 years, 1 month ago master
  2. 9ab6039 Rename OtherMenu to SystemMenu by Yang Luo · 2 years, 1 month ago
  3. 11a2e97 fix: fix video demo (#8) by Xu Zerui · 2 years, 3 months ago
  4. 53beb3f feat: improve UI (#7) by Xu Zerui · 2 years, 3 months ago
  5. 0c18cc2 feat: Add test function (#5) by Xu Zerui · 2 years, 3 months ago

jcasbin-menu-permission

Introduction

This document presents an example of dynamic permission menu loading based on jCasbin. Through jCasbin, you can easily manage menu permissions in Spring Boot development.

Project Overview

Technology Stack

  • Backend: Spring Boot 2.x + jCasbin + Spring Data JPA
  • Frontend: Tailwind CSS + Thymeleaf

Startup Instructions

  1. Build the menu structure you need in the casbin/policy.csv file. Specifically, g2 represents the relationship between menus. For example: g2, submenu name, parent menu name.
  2. Once the configuration is complete, run the main method in Application.java located under org/casbin/. Access http://localhost:8080/ for testing.
  3. The access control model file for jCasbin is located at casbin/model.conf, and the policy file is at casbin/policy.csv. Modify them as needed based on your requirements.

Simple Examples

Demonstration video

Root user

Admin user

Normal user