权限管理

RBAC模型

是基于角色的权限管理(Role-Based Access Control),权限与角色关联,用户与角色相关联。
具体到用户登录时,先拉取用户相关的角色,再拉取这些角色相关的操作,返回给用户所有操作list。

数据库设计

首先设计用户表,user表中有id,name和pwd字段,包含用户名密码。
角色表role中有id和name字段。
user_role映射表中有id,role_id,uid字段,分别表示角色表中的id,用户表中的id字段。
操作表operation中有id,name,url,parent_id字段。通过url字段来实现权限控制,parent_id实现父级操作和子操作
role_operation映射表中有id,role_id,operation_id字段。

缓存设计

为了避免对数据库的压力,需要对数据进行缓存,每次数据库更新之后都更新缓存

  • user登录的状态需要缓存
  • user对应的角色需要缓存
  • role对应的操作需要缓存

登录的token可以在加密之后通过cookie存放在浏览器端(使用Cookie类构建,传入通用的ReponseContext类中进行设置,ReponseContext类使用ThreadLocal在当前线程进行写入)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值