ssh框架里拦截器的权限验证基本思路【转】

 

 

相关表

序号表性质表名字段字段字段字段字段
1基表用户表id帐号密码  
2基表角色表id角色名   
3基表权限表id权限名请求路径  
4关联表用户角色表id用户id角色id  
5关联表角色权限表id角色id权限id  
        

 

 

 

 

 

 

 

 步骤

1.然后从filter或inteceptor中取出请求路径和用户id

2.用请求路径在权限表和角色权限表中查出该路径有哪些角色可以访问

3.用用户id查到该用户属于哪个角色

4.用第3步的角色判断是否出现在第2步的角色列表中,出现则允许访问,否则拦截

 

但是每次请求被拦截时都查询数据库会非常影响效率,可以在服务启动时用监听器(或其他)查询一次,将表之间的映射全部取出放在context中,这样每次拦截时就不用查询数据库了.

 

 

参考自:https://zhidao.baidu.com/question/391983437.html 

 

转载于:https://www.cnblogs.com/whatlonelytear/p/7277751.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值