关于重写权限管理系统,有劳bobby老师解惑,谢谢!

来源:16-4 如何让讲师可以登录xadmin并过滤列表页数据

wlxz

2020-01-13

bobby老师,您好!
先谈一下本人的情况,本人非专职程序员,但之前都是我用golang写接口给外包前端团队调用数据。
这次PC前端与后端接口需要我一人搞定,在学习django之前我考虑过golang+vue-admin,对比下来认为没有django适合,同时因为是内部管理项目对并发没什么要求,能快速出活就好。

我这里有个权限管理需求是这样的:
公司有几个下属分公司,分公司的系统管理员需要对其所在分公司的下属部门/员工进行权限分配,
但是分公司的管理员给下属的部门/员工分配权限只能在总公司分配给分公司的权限范围之内。
并且同表数据权限以分公司为基准。

比如:
系统一共有A、B、C、D四个模块,
总公司超级管理员分配给1号分公司的权限为 A、B、D,
则1号分公司的管理员只能对下属的部门/员工在A、B、D三个模块里进行分配权限,
当然他自己也无法访问C模块(在权限分配里C不可见)。
1号公司与2号公司的下属员工只能看到自己分公司的数据。(这块的知识您在本章有讲解)

另外:
后端需要服务多个前端(PC, 小程序, APP),
总公司管理员与分公司管理员统一使用PC,各分公司员工统一使用小程序或者APP。
(我同时有购买您的DRF课)

请教bobby老师,
一、用django权限系统实现这样的需求,是否还有快速开发的优势?或者说干脆自己写权限系统更好?
二、在有多端的情况下,是干脆所有的前端统一使用RESTful接口好?还是PC端就用xadmin? 因为是新项目,需求后面的变动可能性比较大。

麻烦bobby老师帮我梳理一下,感谢!

写回答

1回答

bobby

2020-01-15

  1. 这个权限 django的组管理 搭配着xadmin的重写queryset是可以完成的,但是具体的权限过滤需要自己在queryset中重写

  2. 多端的情况下 使用restful统一比较好,github上也有开源项目可以在drf中直接给不同的view分配不同的权限。xadmin有react重构的前后端分离的分支代码,你可以用这个分支的代码。听说作者也在积极的专门为drf做开发,使用这个后期即使变动大修改也方便

0
4
bobby
回复
wlxz
组的目的是为了分组管理权限, 但是特殊的权限需要自己定义以及自己在需要的view中判断逻辑
2020-01-19
共4条回复

Django+ xadmin 开发在线教育网站

一套通用的技术组合拳,助你解决大部分Python类网站后端问题

1911 学习 · 2149 问题

查看课程