第一次做权限管理功能,比较手忙脚乱,中途也有地方没想清楚,又重新修改了。前前后后花了十天才完成。
项目背景:我做的是一个心理平台,分为教师端、学生端、家长端。使用YII框架,PHP语言开发。(还没交给前端切页面,所以比较丑)
管理权限是在教师端,超级管理员给角色分配菜单,给教师分配角色,这样不同角色的老师看到的菜单是不一样的。
第一个大模块:角色管理
超级管理员可以新增角色、修改角色信息、对角色授权菜单。前两个都很简单,我们看一下授权菜单。
lime_teacher_menu:菜单表
菜单是从数据库里读出来的,数据库的结构已经给大家了。
CheckBox的值就是lime_teacher_menu表里的Id。还要把角色的id带过来。
lime_teacher_role:
当点击授权的时候要验证是否有选中菜单,没有则提示要选择菜单。
因为role_id是暴露在外面的,以防别人恶意攻击,我们需要验证授权菜单的角色是否存在。
如果授权成功就在lime_teacher_role_relation_menu表里添一条数据