权限设计
菜单
菜单的作用
用于定制后台的功能显示,和为权限控制提供节点。
如何添加、编辑、删除
添加、编辑
点“系统”->“系统设置”分组->"菜单管理"的菜单列表里“新增”按钮
菜单url,如注释那样,首页就填Index/index
,无需admin,不区分大小,但最好和控制器里一样首字母大写,方法驼峰命名。
上级菜单,顶部菜单就选 “顶级菜单”,左侧的就选上级菜单。
分组,是左侧统计菜单,区分显示用的,比如用户下左侧菜单的“用户管理”和“行为管理”2个收缩,是用户下菜单分组里分别填写这2个区分开来的。都不填的话无分组显示。
隐藏 选‘是’,表示添加了该节点,当有访问授权的人进去改菜单上级菜单列表时,菜单上不显示。
开发者可见, 只得是仅在ot后台模式切换为开发者模式时可以显示。
说明,设置后访问权限处可现实的提示,如下图:
与权限的关系
为权限管理提供节点和可判断的url规则(一些新增、配置按钮也要加菜单里去),并且权限管理 设置的权限 控制菜单的显示。ot安装的超级管理员账号除外,所有都能显示。
权限管理
onethink并没有使用rbac作为权限控制,而是选择了扩展的auth类。
基本的验证单位
是后台菜单里写的url。
用户组
和rbac相似,ot里也分用户组和用户。用户属于某个用户组。针对用户组授权后,在权限管理的用户授权里在当前的分组选项里输入用户id可加入当前分组。
用户访问授权
分类授权
这部分是针对我们文档模型的,和独立模型没有任何关联。授权哪些用户可以编辑访问哪些分类。
公共访问和禁止访问的操作
正式版中为了方便大家不重复定义一些公共访问和禁止的操作,在配置中设置了ALLOW_VISIT 和DENY_VISIT2个数组配置,这样在其中的url就可以无需用户组授权禁止和公共访问了。