代码语言:python代码运行次数:0复制
1.拷贝 rbac 到新的项目里面去,同时注册 rbac
2.配置相关的,白名单还有变量名字等等
3.做数据库表的内容
1.删除所有的迁移
记录,再根据记录生成所有6张表
4.在项目根urls里面 include一下 rbac.urls
5.启动一下项目,准备录入一下权限信息
1.访问添加角色页面,会页面显示错乱,调节一下样式就好了,基本是因为 css 的问题
2.添加角色:BOSS、管理员、销售、班主任
3.进入到menu_list页面,创建菜单
1. 标题:客户信息管理
权重: 100
2. 标题:班级管理
权重: 99
4.访问批量操作页面 multi_permissions(录入原系统的url)
1.添加所有的名称,在 rbac的views里面修改 multi_permissions if request==XX 的逻辑
2.自改rbac的models里面的长度,再做一下迁移
3. 客户列表、私户的所属菜单设置为:客户信息管理
班级列表的所属菜单设置为:班级管理,先保存一下
4.添加客户、编辑客户、跟进记录、添加跟进、编辑跟进、报名记录列表、添加报名表、编辑报名表。给私户
5.添加班级、编辑班级、课程记录列表、添加课程记录、编辑课程记录、学习记录列表。给班级列表
5.忽略列表里面的去掉 rbac,重启项目(录入rbac的url)
1.添加所有的名称,rbac 的,保存
2.回头访问 menu_list,创建菜单 --》权限管理
3.再回来批量操作:
将角色列表、权限信息、分配权限,分配给权限管理,先提交
4.添加角色、编辑角色、删除角色,分配给角色列表
5.添加菜单、编辑菜单、添加权限、编辑权限、删除权限、批量操作权限,分配给权限信息,更新一下
6.到分配权限列表
1.发现用户信息不存在
1.在crm的models里面一对一关联一下rbac的user,具体的看上课的代码,做数据库迁移
2.给rbac的user表里面插入用户,再在crm的user表里面关联这个id,返回分配权限的页面
2.给用户分角色,给角色分权限
7.登录应用权限
1.在login函数里面,导入写入session的那个方法传进参数
1.修改user,因为user已经一对一关联了,user.user,其他的不用改
2.中间件校验,先注册中间件进入settings
1.中间件里面加一个 try ... except...
2.在login函数里面接收函数的返回值,if ret:...
8.应用二级菜单
1.直接在layout里面做这样的事情
1.注意模板继承 layout,有block css 、 content 、 js
2.注释掉原来的左侧菜单 url
3.{% load rbac %}使用inclusion_tag,还要layout模板中导入 menu.css,这个样式应用于左菜单样式的,js也要导入
4.使用面包屑导航,现在模板中的位置里面导入
1.{% 导入面包屑导航,直接就好了?? %}
9.权限控制到按钮级别