多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 菜单 菜单的作用 > 用于定制后台的功能显示,和为权限控制提供节点。 如何添加、编辑、删除 > 添加、编辑后台权限 > 点“用户”->“权限管理”分组->"菜单管理"的菜单列表里“新增”按钮 > 菜单url,如注释那样,首页就填Index/index,无需admin,不区分大小,但最好和控制器里一样首字母大写,方法驼峰命名。 > 上级菜单,顶部菜单就选 “顶级菜单”,左侧的就选上级菜单。 分组,是左侧统计菜单,区分显示用的,比如用户下左侧菜单的“用户管理”和“行为管理”2个收缩,是用户下菜单分组里分别填写这2个区分开来的。都不填的话无分组显示。 隐藏 选‘是’,表示添加了该节点,当有访问授权的人进去改菜单上级菜单列表时,菜单上不显示。 开发者可见, 只得是仅在后台模式切换为开发者模式时可以显示。 添加、编辑前台模块权限 > 前台权限可在 用户 -》 权限管理 -》 新增前台权限节点 中添加,需要注意的是节点标识将被用于前台权限的检测。 前台开发模块时,检测权限采用check_auth()函数。函数实现代码如下 > function check_auth($rule, $type = AuthRuleModel::RULE_URL) > { > if (is_administrator()) { > return true;//管理员允许访问任何页面 > } > static $Auth = null; > if (!$Auth) { > $Auth = new ThinkAuth(); > } > if (!$Auth->check($rule, get_uid(), $type)) { > return false; > } > return true; > } 可以看到,管理员是直接忽略权限的,接下来即采用Auth类进行检测。$rule参数就是新增权限时的节点标识。 与权限的关系 > 为权限管理提供节点和可判断的url规则(一些新增、配置按钮也要加菜单里去),并且权限管理 设置的权限 控制菜单的显示。安装的超级管理员账号除外,所有都能显示。 权限管理 > 系统并没有使用rbac作为权限控制,而是选择了扩展的auth类。 > 基本的验证单位 > 是后台菜单里写的url。 用户组 > 和rbac相似,OC里也分用户组和用户。用户属于某个用户组。针对用户组授权后,在权限管理的用户授权里在当前的分组选项里输入用户id可加入当前分组。 用户访问授权 > 公共访问和禁止访问的操作 > 正式版中为了方便大家不重复定义一些公共访问和禁止的操作,在配置中设置了ALLOW_VISIT 和DENY_VISIT2个数组配置,这样在其中的url就可以无需用户组授权禁止和公共访问了。