权限管理的三级菜单的流程及使用 (2)

注册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 %}

权限控制到按钮级别

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzssfg.html