1.管理员管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

管理员管理

需求:

1.管理员的账号添加一个验证规则:必须唯一

2.添加管理员时添加一个确认密码,只有两个密码输入一致时才可以添加

3.添加管理员时把密码加密之后存到数据库中

4.修改管理员时和添加管理员一样也要有前三个需求,如果密码不填就代表不修改密码

5.在添加修改管理员时,可以选择管理员所在的角色(可以选择多个角色)

6.删除管理员时,要把这个管理员所在角色的数据一起删除掉

7.超级管理员是不能被禁用和删除的

8.超级管理员可以修改所有的管理员的信息,但普通管理员只能修改自己的信息

实际操作:

需求一、

修改管理员模型添加一个新的验证规则即可:

需求二、

1.在表单中添加一个确认密码:

2.在管理员模型中再添加一个验证规则:两次输入的密码必须一致

设置允许接收cpassword字段:

需求三、加密之后入库

需求四、

1.修改时密码可以为空,为空代表不修改密码,修改表单验证的规则:

2.我们希望不填密码就不改,但现在不填就把密码修改为空了:

需求5:在添加修改管理员时可以选择所在的角色

1.在添加和修改管理员的表单列出所有的角色并制作成复选框

a.在控制器先取出所有角色的数据

b. 在添加和修改的表单中循环输出所有的角色

效果:

2.提交表单之后把管理员所在角色的数据保存到管理员角色表:

在添加管理员后的函数的:

添加管理员:

在修改管理员时,管理员当前所在的角色默认为选中状态:

1.先取出修改的管理员当前所在的角色的ID,并拼成一个字符串:3,4,5,6,7,8

在控制器添加代码:

2.在循环输出角色时判断如果这个角色的ID在上面的字符串里就代表当前管理员在这个角色里,就设置为选中状态:

3.提交表单时处理表单把修改的角色信息更新到数据库中

思路:把删除当前管理员之前所在角色的数据,把这次修改的当成新的数据重新插入到中间表即可

做法:把添加时的代码复制到修改时里,再添加删除的代码

需求六、现在管理员的信息是存到两个表中的:admin和admin_role表,当前删除管理员信息要把Admin_role中管理员对应的数据也一起删除掉:

需求7:超级管理员不能修改删除和禁用:

无法禁用:

把超级管理员删除的按钮去掉:

lst.html:

效果:

需求八、

在管理员控制器的edit方法中添加代码:

到此RBAC中所有表的操作都基本完成了,现在可以在后台添加管理员和分配权限,之后要做的就是使用这五个表中的数据来在程序上验证权限。

扩展:用户体验可以直接通过点击启用按钮来修改启用状态(AJAX)

修改HTML标签中的TD添加两个属性

页面最后添加JS代码绑定点击事件

控制器中添加方法处理AJAX请求

相关文档
最新文档