随笔分类 -  权限组件(rbac)

摘要:一、权限组件(1):一级菜单 二、权限组件(2):二级菜单 三、权限组件(3):默认选中非菜单(二级菜单) 四、权限组件(4):给动态菜单增加面包屑导航 五、权限组件(5):权限粒度控制到按钮 六、权限组件(6):权限分配的角色管理 七、权限组件(7):权限分配的用户管理 八、权限组件(8):一级菜 阅读全文
posted @ 2019-03-17 14:09 梁少华 阅读(623) 评论(0) 推荐(0)
摘要:这里用主机管理系统当做示例。 一、将rbac组件拷贝到项目中。 注意: 二、将rbac/migrations目录中的数据库迁移记录删除(init.py不能删除) 三、业务系统中用户表结构的设计 业务表结构中的用户表需要和rbac中的用户表有继承关系如: rbac/models.py 注意: 业务/m 阅读全文
posted @ 2019-03-17 13:40 梁少华 阅读(674) 评论(0) 推荐(0)
摘要:效果图: 一、URL配置 rbac/url.py 二、视图函数 rbac/views/menu.py 三、模板 rbac/templates/distribute_permissions.html 参考:jquery中arrt()和prop()的区别 阅读全文
posted @ 2019-03-16 10:03 梁少华 阅读(779) 评论(0) 推荐(0)
摘要:效果图: 一、路由配置 rbac/urls.py配置一个批量操作页面的路由和删除权限的路由 二、forms表单验证 rbac/forms/menu.py 三、视图函数 rbac/views/menu.py 四、模板 rbac/templates/multi_permissions.html 在rba 阅读全文
posted @ 2019-03-14 10:25 梁少华 阅读(1034) 评论(0) 推荐(0)
摘要:自动发现项目中所有有别名的URL,效果如下: 一、配置路由 rbac/urls.py 二、自动发现URL功能实现 排除不用发现的URL settings.py rbac/service/router.py 三、在视图函数引用 rbac/views/menu.py 以后我们需要在页面展示这些URL,并 阅读全文
posted @ 2019-03-12 17:41 梁少华 阅读(464) 评论(0) 推荐(0)
摘要:效果图: 增加页面: 编辑页面: 因为后面要对权限进行批量操作,所以先用这个示例演示下如何实现批量操作 数据库 一、配置路由 二、forms表单验证 三、视图函数 四、模板渲染 multi_add.html multi_edit.html edit和add的区别是edit多了个id并把id隐藏起来了 阅读全文
posted @ 2019-03-11 17:43 梁少华 阅读(618) 评论(0) 推荐(0)
摘要:效果图: 三级菜单的实现和一级、二级菜单差不多。需要注意的是增加三级菜单时,三级菜单是用户提交后在后台通过二级菜单的id添加的。 一、路由分发 rbac/urls.py 二、forms表单验证 rbac/forms/base.py rbac/forms/menus.py 三、视图函数 rbac/vi 阅读全文
posted @ 2019-03-11 10:59 梁少华 阅读(1276) 评论(0) 推荐(0)
摘要:效果图: 二级菜单的展示和增删改查 二级菜单和一级菜单逻辑差不太多。有以下两点需要注意: 一、配置URL rbac/urls.py 二、forms表单验证 forms/base.py forms/menu.py 三、视图函数 rbac/veiws/menu.py 四、模板渲染 rbac/templa 阅读全文
posted @ 2019-03-10 18:21 梁少华 阅读(764) 评论(0) 推荐(0)
摘要:效果图: 一、路由配置 rbac/urls.py 二、forms表单验证 rbac/forms/menu.py 三、视图函数 memory_reverse的功能是当用户完成增删改返回列表页的时候,还带有原参数,这样回列表页的时候还会默认选中用户刚刚选中的参数 四、保留原参数 rbac/templat 阅读全文
posted @ 2019-03-10 15:57 梁少华 阅读(618) 评论(0) 推荐(0)
摘要:效果图: 和角色管理差不多,只是把编辑拆分成了编辑用户名、邮箱和重置密码,相应的form验证就会多一些。模板除了多了一个用户列表,增删改用的都是之前的。还有models层的email字段,改成EmailField 一、路由配置 rbac/urls.py 二、Form表单验证 rbac/forms/b 阅读全文
posted @ 2019-03-10 09:59 梁少华 阅读(681) 评论(0) 推荐(0)
摘要:效果图: 一、models层给权限增加url的别名 这是做是为了在模板用别名判断当前用户是否有这个url(权限)rbac/models.py 注意:刚创建的时候设置成null=True和blank=True,当添加完数据后再设置unique=True,并删除null=True和blank=True 阅读全文
posted @ 2019-03-09 10:35 梁少华 阅读(3916) 评论(0) 推荐(0)
摘要:效果图: 一、在初始化权限的时候增加二级菜单的标题和url 这么做是为了在中间件中把二级菜单和具体权限的标题、url都储存起来rbac/service/init_permission.py 二、中间件处理 rbac/middlewares/rbac.py 注意: 选中的是二级菜单时,只要给列表加上二 阅读全文
posted @ 2019-03-08 18:58 梁少华 阅读(1517) 评论(0) 推荐(0)
摘要:我们要的效果是点中添加、编辑、删除缴费记录,左边的账单列表会被默认选中 一、在权限表里新建一个自关联的字段pid rbac/models.py 说明:拿客户列表来举例: 没有pid,有menu_id的是二级菜单,有pid,没有menu_id的是具体的权限,是不可以做菜单的。我们的目的是让用户点击增加 阅读全文
posted @ 2019-03-08 16:29 梁少华 阅读(501) 评论(0) 推荐(0)
摘要:二级菜单效果图 一、把一级菜单从权限表里抽离出来,单独创建一个表 rbac/modelsMenu class Menu(models.Model): """ 菜单表 """ title = models.CharField(verbose_name='一级菜单的名称', max_length=32) 阅读全文
posted @ 2019-03-08 11:19 梁少华 阅读(521) 评论(0) 推荐(0)