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

上一篇:Django项目的创建与介绍.应用的创建与介绍.启动项目.pycharm创建启动项目.生命周期.三件套.静态文件.请求及数据.配置Mysql完成数据迁移.单表ORM记录的增删改查


下一篇:使用Laravel提交POST请求出现The page has expired due to inactivity错误