分享一个jfinal权限系统常用思路:
1、数据库里创建用户表 角色定义表 用户角色中间表 用来创建用户和给用户分配角色
2、数据库里创建权限资源定义表 定义出系统内可访问资源有哪些 比如菜单 导航 模块 按钮 非可视化权限等
3、为角色分配这些权限资源 这样只要有这个角色的用户 就有了这个角色绑定的权限
4、用户登录需要拿到用户的userId和对应的roles 存到session里 这样只要用户登录 就知道他的谁 有哪些角色
5、同时需要在cache中存放一个角色对应的权限定义列表 这样就能轻松从cache里知道 哪个觉得有哪些权限可以访问
6、上拦截器 在访问的时候拦截到当前是哪个用户 找到session里他的roles列表 通过 roles列表去cache里拿到他的所有可访问权限 在跟现在拦截到的要访问的资源对比一下
7、包含就能通过权限校验 不包含就是无权访问
8、其他页面元素权限自定义标签实现之
9、API接口鉴权,针对小程序和app等终端调用,使用token方式
JBolt中的实现方式,除了这样的基础设置,后面要加入多级部门版权限控制。
点击图片查看原图大图
另外,JBolt极速开发平台里相关权限设计,都实现了上述内容,这里有个教程介绍:
在课程的第二小节里讲了,有图有真相。
本站推荐:
JBolt插件安装和使用
JFinal-JBolt开发平台从入门到精通-系列教程
JBolt开发平台入门(13)-自动化组件 autocomplete
JBolt开发平台入门(14)-四种主从表管理操作方式
JBolt开发平台入门(15)- 上下结构主从表管理简单实现
JBolt开发平台入门(16)- 弹出Dialog显示指定区域的html内容
JFinal学院公众号:jfinalxueyuan