注册APP 以及配置信息
# ###### 权限相关的配置 ######PERMISSION_SESSION_KEY = \'permissions\'
MENU_SESSION_KEY = \'menus\'
WHITE_URL_LIST = [
r\'^/login/$\',
r\'^/logout/$\',
r\'^/reg/$\',
r\'^/admin/.*\',
]
数据库迁移命令
删除rbac所有的迁移文件
执行两条命令
路由相关
url(r\'rbac/\',include(\'rbac.urls\',namespace=\'rbac\'))
给所有的URL起名字
layout 模板注意
block css js content
权限的管理
添加角色
添加菜单
添加权限
分配权限
用户关联---修改原系统的用户表
跟rbac的UserInfo user = models.OneToOneField(UserInfo,null=True,blank=True)
给用户分角色
给角色分权限
登录应用权限
登录成功后
auth.login(request, obj)
ret = init_permission(request, obj)
if ret:
return ret
初始化权限信息init_permission函数中修改
user -> user.user
permission_query = user.user.roles.filter
应用权限校验中间件
\'rbac.middleware.rbac.PermissionMiddleware\',
应用左侧菜单和面包屑导航
在layout模板中,引用CSS和JS
二级菜单
{% load rbac %}
{% menu request %}
应用路径导航
{% breadcrumb request %}
权限控制到按钮级别