BruceAKABear / syspermission

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

经典RBAC权限系统扩展系统

RBAC是什么?

RBAC是基于角色的访问控制也就是权限的简称

Role-Based Access Control

具体怎么实现?

系统中的用户可以拥有多个角色,单个角色可以拥有多个权限。最终就可以实现用户拥有多个权限。

代码逻辑应该为

1. 用户登录并查询权限

用户登录以后根据各系统鉴权方式不同,生成鉴权方式。然后前端请求用户信息,信息中包含用户的菜单树,按钮权限,api权限集合

2. 前端动态根据菜单树遍历生成实际菜单树及按钮控制

  1. 根据用户的ID查询对应的角色集合
  2. 通过遍历角色集合获取到每个角色
  3. 通过每个角色ID查询到对应的权限
  4. 通过权限判断用户是否有权限

传统RBAC有什么缺点?

现如今前后端分离开发,除了菜单、按钮权限。其实也应该做API权限。但是传统RBAC

About


Languages

Language:Java 99.6%Language:Dockerfile 0.4%