系统权限设计说明文档

权限设计方案-技术实现说明文档

1. 新老系统权限区别

  • 权限实现方式老系统使用shiro拦截器实现,新系统改变spring Interceptor,系统更为轻量,更为灵活。
  • 菜单配置,老系统使用数据库存储的方式,新系统改变xml配置在项目充,不需要跟随系统发布配置。
  • 权限关系缓存,老系统对每个用户的所以菜单角色缓存,新系统在这方面做了调整精简精简集中配置。

2. xml中菜单和接口信息配置规则

  • 配置文件内menu标签为一个实体菜单项,menu 之间的层级关系,先后顺序,直接体现在实体菜单内。
  • menu 标签下的api 表示,拥有这个menu的用户,便有权限调用对应的api接口。
  • 例子:菜单1 下面标注了接口 a,b,c,菜单二下面标注了接口,c,e,f。有菜单1的用户就有权限调用,a,b,c 接口,
    有菜单2的用户就有权限调用 c,e,f 接口。两个菜单都有的用户,就有权限调用,a,b,c,e,f接口。这5接口,没有在别的菜单下标注的话,那么用户如果没有这两菜单的权限,就无法调用这几个接口。

3.权限实现机制

  • 系统启动后,将xml的配置信息导入到系统内。然后读取数据库中角色和菜单关系信息
  • 创建【角色-菜单】映射,【接口-角色】映射,信息存入系统高速缓存中。
  • 用户登录后,读取用户所以角色信息,存入系统高速缓存中。
  • 获取用户菜单列表,根据用户角色信息,读取缓存中【角色-菜单】信息,去重,排序等操作之后,展示给用户。
  • 用户请求api接口,读取【接口-角色】,和用户角色做匹配判断用户是否有对应权限。
  • 角色菜单关系发生变化,刷新对应【角色-菜单】映射,【接口-角色】映射,保证系统权限实时更新。
  • 用户角色发生变化,刷新用户角色缓存 保证用户权限实时更新。

3.菜单角色关系,用户角色关系管理,用户第系统权限管理操作。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值