Based on the
vue-element-admin +
casbinIntegrated front and rear end separation of RBAC access management system.

The demo address


  • The system adopts the structure of front and rear end separation, which is an enterprise backstage solution. The front-end framework is based onvue-element-admin, the background framework uses the most popular PHP frameworklaravel

    Control permissions are used bycasbinLightweight access control framework
  • This is your first project to learn about the front-end separation project. You can learn about some of the latest uses of Laravel. Routing, middleware, validators, front-end separation for JWT validation, Laravel’s global exception handling, business and service separation, and some of the use of VUE as a front-end. And how to write the most common RBAC permission control in the background
  • The latest front-end separation technology used in this project allows permission control to be subtle down to a single interface
  • This project does not highly encapsulate 📦, but only provides perfect RBAC permission control, which is simple and easy to use and “free and open source”.
  • Hit so many words ~ finally can give me point a star ~ ❤️
  • DEMO: Just scan the code on Weibo and log in

The main function

1. Login

  • 1. General login JWT + API verification code

  • 2. The third-party login (the login code of the microblog (which can be used) has been provided and has not been tested) will be granted demo by default

    The “feature” is based on a third-party login package I wrote
    thirdparty_oauthHas compatible Laravel – Octane

2. Permission management

3. Role management

  • Assigns characters menu nodes and API nodes

4. User management

  • Endowing multiple roles

5. “Terminal” is similar to the pseudo-terminal of pagoda (this function is based on Node), but it is also controlled by the RBAC permissions of the system. Considering security issues, the Node server requests Laravel for authentication (haha, there is no need to update the code of login service), but this function needs to expose the port.

In the end, the whole project was simple and easy to use. No over-encapsulation, even for the front-end novice “follow the document to learn” can quickly get started to develop a back-end separation of the project, friendly to the novice ~ ~ ~ finally welcome

Use encountered problems (the above problems are basically the environment and some use problems basically did not encounter a bug will be fixed in time)

  • Give issues to the project

  • The back-end source:
  • The front-end source:
  • Experience using Weibo to scan the code to log in
  • Follow-up: Considering that the main RBAC functions of the background have been improved, the functions that I think of will be integrated and updated from time to time ~