十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
可以使用acl控制实现,参考acl全集如下:
创新互联建站总部坐落于成都市区,致力网站建设服务有网站设计制作、成都网站建设、网络营销策划、网页设计、网站维护、公众号搭建、微信小程序、软件开发等为企业提供一整套的信息化建设解决方案。创造真正意义上的网站建设,为互联网品牌在互动行销领域创造价值而不懈努力!
1、角色表
角色id - 用户组id - 特殊权限id(其中特殊权限 用户组所包含权限)
2、用户组表
用户组id - 用户组信息
3、权限表
权限表id - 权限信息 - 与功能模块的关系
4、用户组-权限关联表
用户组id - 权限集合
5、特殊权限表
特殊权限id - 权限集合
注意:
1、设置权限的删除、添加主要围绕在 用户组-权限关联表、特殊权限表。
2、用户的权限获取则是验证登陆的时候通过用户组和特殊权限获取权限集合。
3、展示的时候,根据2获取的权限集合从权限表获取所有功能模块的导航菜单。
另一种方法是参数表,适用于固定参数,只判断bool的
例如
用户 读 写 执行
abc Y Y Y
cba Y N N
zzz Y Y N
那么
abc=7(二进制 111)
cba=1(二进制 001)
zzz=3(二进制 011)
例如论坛,权限都是固定的参数值,每个人区别只是 有/无 某个权限
*要注意的参数是64位/32位的问题——避免溢出
说一下我的思路(RBAC 模式),供你参考,邮箱不发了,由于数据库需要保密,截图也不贴了。
你在左侧导航栏做三个菜单项,分别是:
1. 用户管理
2. 角色管理
3. 权限管理
其中 1 和 2 给管理员操作,管理员可以对其进行增删改查等操作;3 由软件开发者操作,不能分配给管理员;普通用户对 1、2、3 都无权操作。
权限管理界面,软件开发者可以对各种权限进行增删改查;
角色管理界面,管理员进去后可以对角色进行增册改查操作;具体可以这样安排界面,右栏主区分成上中下三块,上面这块提供添加及查询操作,中间块显示查询结果,下面这块查询结果中某条记录的明细。 增加按钮点击后,在明细区出现填写表单,具体需要填哪些内容由开发者定,一般角色名为必填项,然后同时在右边给出一个选择权限的列表,提供复选框让管理员为角色勾选分配权限;
用户管理界面跟角色界面类似,只是管理员在创建用户时是勾选角色而不是权限。
大体思路就是这样。
(PS: 数据库中当然要先设计好用户表、角色表、权限表、用户角色关联表、角色权限关联表等等)
其实不建议用session参与权限模块
1.session用来记录当前用户名,用户编码,角色编码,职位编码等等当前用户的基本配置信息.
2.控制权限的类获取session中的信息后,在根据你数据库中权限表做控制.