django权限

权限改造:与用户主数据集成

要求:需要从部门和型号两个维度约束用户权限(已有功能只支持个人用户权限,没有部门和型号的维度限制)。

型号:

  • 个人:只能查看个人和他人共享的数据(1. 主数据不包含个人所属型号信息 2. 该功能已实现)。
  • 型号领导:可查看所属型号的全部数据。

部门:

  • 个人:只能查看个人和他人共享的数据(该功能已实现)。
  • 部门领导:能查看所属部门的全部数据。

设计思路:

  1. 将部门/型号看成“个人”,以便于最小化改动和维护已有架构(部门、型号均有自己的编号,相当于个人的user id)。

- 导入:个人导入数据时,需要给其所属部门和型号生成权限。部门从个人主数据信息获取,型号从导入界面的型号信息获取。(参照给个人生成权限部分

- 查看:

     ===== 如果当前用户是普通员工:根据用户信息获取相应权限信息展示(目前已实现)。

     ===== 如果当前用户是部门领导:根据所属部门的ID获取相应权限信息展示。(把部门看成个人)

     ===== 如果当前用户是型号领导:根据所属型号ID(可能多个)获取相应权限信息展示。(把型号看成个人)

     ===== 如果当前用户是既是部门领导,又是型号领导:根据所属部门ID和所属型号ID获取权限数据展示。

理解:把部门A看成一个user,比如在这里我们设为userA

 

一、导入流程:

     1、如果user1导入数据data1 --> 权限(比如:read、write、grant data1)

原来情况: user1  <---->   data1

新加方案: userA  <---->  data1(部门userA同样有data1的权限)

     2、如果user2导入数据data2--> 权限

原来情况: user2  <---->   data2

新加方案: userA  <---->   data2(部门userA同样有data2的权限)

    ……

   只要是部门A的用户,导入时都需要执行这两个过程。

    ……

那么在这个过程中,领导①有没有部门A的权限呢?

    答:应该是没有的,因为现在还没有存。

二、查看:

根据甲方给出的user数据信息。他们会返回给我们  部门领导 与 普通员工:

     1、if 普通用户:

            只能查看自己的权限(已有功能)

     2、if 部门领导①:

            首先,查看领导①的能看到的数据。(因为领导①本身也是一个普通用户)

            其次,查看userA 能看到的所有数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值