反馈已提交

网络繁忙

您好,只有最新版本的6.X支持在线编辑修改,如果想创建/编辑文档,请移步到 *最新版本*

层级权限生效逻辑

  • 文档创建者:Carly
  • 历史版本:6
  • 最近更新:Suki陈 于 2022-12-08
  • 1. 逻辑简介

    数据决策系统中的权限载体「部门」可以为树结构,存在父部门和子部门。下文中称为权限载体树。

    数据决策系统中的权限实体「目录」可以为树结构,存在父目录和子目录。下文中称为权限实体树。

    按照不同的时间先后顺序给父部门/子部门分配父目录/子目录的权限,最终生效结果各不相同。

    注:本文中的权限配置是指打开或关闭某维度的权限,维度包括:查看、导出等。

    1)对于树结构,先配置子节点的权限,再配置父节点的权限。在父节点配置过的权限维度下,父节点权限会覆盖相应维度的子节点权限。

    2)对于树结构,先给父节点配置权限,再给子节点配置不同的权限。父子节点权限各自生效,互不影响。

    注1:职务和子部门同理,都会被父部门配置的权限覆盖掉。

    注2:权限快捷配置同理。

    2. 父覆盖子

    逻辑:对于树结构,先配置子节点的权限,再配置父节点的权限。在父节点配置过的权限维度下,父节点权限会覆盖相应维度的子节点权限。

    2.1 权限载体树

    逻辑:对于同一权限实体(如同一目录),先给子部门配置权限,再给父部门配置权限。在父部门配置过的权限维度下,父部门权限会覆盖相应维度的子节点权限。

    场景:

    先给子部门分配目录权限,维度为「查看」。

    再给父部门分配目录权限,维度为「查看、导出」。

    结果:

    在父部门配置过的权限维度下,父部门权限会覆盖相应维度的子节点权限。

    父部门配置过的权限维度为「查看、导出」,覆盖相应维度的子部门权限为「查看、导出」。

    2.2 权限实体树

    逻辑:给当权限实体是一棵树结构(例如目录树),给同一权限载体(例如角色)先配置子节点的权限,再配置父节点的权限。在父节点配置过的权限维度下,父节点权限会覆盖相应维度的子节点权限。

    场景:

    先给角色 X 分配子目录 1 的权限,维度为「查看、导出」。

    再给角色 X 分配父目录的权限,维度为「查看」。

    结果:

    在父目录配置过的权限维度下,父目录权限会覆盖相应维度的子目录权限,如父目录的「查看」维度。

    父目录未配置的权限维度,则无法覆盖子目录相应维度的权限,如父目录的「导出」维度。

    父目录及子目录的「查看」维度被覆盖,「导出」维度无法被覆盖,子目录 1 的最终权限为「查看、导出」。

    2.3 平行权限树

    逻辑:对于权限载体树(父子部门)和权限实体树(父子目录),先给子部门配置子目录权限,再给父部门配置父目录的权限。在父部门对父目录配置过的权限维度下,父部门对父目录的权限会覆盖相应维度下子部门对子目录的权限。

    场景:

    先给子部门配置子目录权限,维度为「查看、导出」。

    再给父部门配置父目录权限,维度为「查看」

    结果:

    在父部门对父目录配置过的权限维度下,父部门对父目录的权限会覆盖相应维度下子部门对子目录的权限,如「查看」权限。

    父部门对父目录未配置的权限维度,则无法覆盖子目录相应维度的权限,如父目录的「导出」维度。

    父目录及子目录的「查看」维度被覆盖,「导出」维度无法被覆盖,子目录 1 的最终权限为「查看、导出」。

    2.4 交叉权限树

    逻辑:对于权限载体树(父子部门)和权限实体树(父子目录),先给子部门配置父子目录权限,再给父部门配置父目录权限。在父部门对父目录配置过的权限维度下,父部门对父目录的权限会覆盖相应维度下子部门对父目录的权限。

    场景:

    先给子部门配置父目录权限,维度为「查看」,给子部门配置子目录权限,维度为「查看、导出」

    给父部门配置父目录权限,维度为「查看」。

    结果:

    在父部门对父目录配置过的权限维度下,父部门对父目录的权限会覆盖相应维度下子部门对父子目录的权限,如「查看」权限。

    父部门对父目录未配置的权限维度,则无法覆盖父子目录相应维度的权限,如父目录的「导出」维度。

    父目录及子目录的「查看」维度被覆盖,「导出」维度无法被覆盖。子部门的父子目录最终权限为「查看」,子目录 1 的最终权限为「查看、导出」。

    3. 子不影响父

    逻辑:对于树结构,先给父节点配置权限,再给子节点配置不同的权限,父子节点权限各自生效,互不影响。

    3.1 权限载体树

    逻辑:对于同一权限实体(如同一数据连接),先给父部门配置权限,再给子部门配置权限,父子部门的权限互不影响,各自生效自己的权限。

    场景:

    先给父部门分配目录的权限,维度为「查看、导出」

    再给子部门分配目录的权限,维度为「查看」

    结果:

    父部门对目录「查看、导出权限不变,子部门对目录的「导出」权限不变。

    3.2 权限实体树

    逻辑:当权限实体是一棵树结构(比如目录树),给任一权限载体先配置父节点的权限,再配置子节点的权限,父子节点的权限均正常保留,互不影响各自生效。

    场景:

    先给角色 X 分配父目录的权限,维度为「查看」

    再给角色 X 分配子目录 1 的权限,维度为「查看、导出」

    结果:

    角色 X 对父目录的「查看」权限不变,角色 X 对子目录 1 的「查看、导出」权限不变。

    3.3 平行权限树

    逻辑:对于权限载体树(父子部门)和权限实体树(父子目录),给父部门配置父目录权限,再给子部门配置子目录的权限。

    在父部门对父目录配置过的权限维度下,父部门对父目录的权限会覆盖相应维度下子部门对父子目录的权限,但之后配置的子目录会保持子部门的设置。

    场景:

    先给父部门配置父目录的权限,维度为「查看」。

    给子部门关闭子目录 1 的「查看」权限,打开子模板 2 的「导出」权限。

    结果:

    父部门对父目录的「查看」权限不变。

    在父部门对父目录配置过的权限维度下,父目录权限会覆盖相应维度的子目录权限,如「查看」。

    所以,父部门对子目录有「查看」权限。

    子目录 1 和子目录 2 保持子部门自己的权限配置,子部门对子目录 1 无权限,子部门对子目录 2 有「查看、导出」权限。

    在父部门对父目录配置过的权限维度下,父部门对父目录的权限会覆盖相应维度下子部门对父子目录的权限,子部门对父目录和其他子目录有「查看」权限。

    3.4 交叉权限树

    此种情况在 5.1.14 前后版本不同,请根据自己的工程版本选择合适的示例。

    • 5.1.14 及之后版本:时间优先级最高

    • 5.1.14 之前版本:权限实体覆盖优先级大于权限载体覆盖

    3.4.1 5.1.14 及之后版本

    逻辑:对于权限载体树(父子部门)和权限实体树(父子目录),给子部门配置父目录权限,给父部门配置子目录权限。

            按照权限设置的时间先后顺序,对于子部门的子目录来说,先被子部门对父目录的权限覆盖,再被父部门对子目录的权限覆盖。

    场景:

    先给子部门配置父目录的权限,维度为「查看」

    再给父部门配置子目录 1 的权限,维度为「查看、导出」

    结果:

    对于子部门的子目录来说,先被子部门对父目录的权限覆盖。此时,子部门对子目录有「查看」权限

    再被父部门对子目录的权限覆盖,子部门对子目录 1 有「查看、导出」权限。

    3.4.2 5.1.14 之前版本

    逻辑:对于权限载体树(父子部门)和权限实体树(父子目录),给子部门配置父目录权限,给父部门配置子目录权限。对于子部门,父子目录均保持子部门本身的设置

             对于子部门的子目录来说,同时被两个权限覆盖,分别是父目录的权限(来自子部门本身)和父部门的权限,由于权限实体覆盖优先级大于权限载体覆盖,所以优先被父目录的权限覆盖,不会被父部门的子目录权限覆盖。

    场景:

    先给子部门配置父目录的权限,维度为查看


    再给父部门配置子目录的权限,「查看、编辑、授权」


    结果:

    查看子部门的权限,父子目录都只有查看权限。

    对于子部门的子目录来说,同时被两个权限覆盖,一个是子部门配置的父目录的「查看」权限(权限实体继承),一个是父部门配置的子目录的「授权」权限(权限载体继承)。由于权限实体覆盖优先级大于权限载体覆盖,所以子部门的子部门优先被「查看」权限覆盖。


    附件列表


    主题: 管理员指南
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    在线QQ(将在2023.01.03关停):800049425

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭