最新历史版本 :权限拦截插件 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本插件版本
11.0V1.0

1.2 应用场景

信息安全,是目前企业越来越关注的重点之一,权限隔离也就作为最常用的手段之一被各大企业普遍应用。当前帆软的权限体系都是根据部门、职位、角色来控制的,但是目前这些控制维度不能完全满足客户对于权限的安全控制,权限拦截插件可以从额外的维度出发,加强了权限控制

注:付费插件需购买授权后使用。

1.3 功能描述

功能功能描述
权限拦截配置访问场景配置
访问用户
从用户和角色两个维度进行限制
网络
内网,外网或者自定义IP段进行限制
访问客户端从不同的客户端进行限制
集成框架
嵌入别的系统的域名下的本工程的页面
可配置权限的资源
决策平台/H5决策平台/决策平台目录/报表目录/自定义资源
权限模拟输入模拟访问场景和资源,得出权限结果和原因

2. 插件介绍编辑

2.1 插件安装

点击下载插件:权限拦截插件下载地址

设计器插件安装方法请参见:设计器插件管理

服务器安装插件方法请参见:服务器插件管理

2.2 操作方法

2.2.1 安装插件

安装插件后,管理员可以看到决策平台的权限管理选项中增加了权限拦截配置项。

安装插件.png

2.2.2 权限拦截配置

点击 + 号,可以选择增加权限项、增加分组或者增加快捷模板。

选择增加权限项后,给新的权限项命名,(可以选择复用目前内置的权限项快捷模板),点击确认

创建新的权限项后,点击该权限项,选择对应的配置

1)访问场景配置

注:访问场景如果一个默认维度如果没有任何设置,则默认包括这个维度下所有场景。

设置
说明
访问用户

访问用户可以从平台用户以及平台角色两个维度选择,选中访问用户,点击编辑进行选择。

805-1722.png

网络

访问网络可以分为内网,外网以及自定义 IP 段

  • 内网:IP 为 10.0.0.0 - 10.255.255.255、172.16.0.0 - 172.31.255.255、192.168.0.0 - 192.168.255.255

  • 外网:非内网的 IP

805-1726.png

访问客户端

客户端可以分为机器客户端和软件客户

注:数据分析APP通过请求头的 terminal=APP 判断,需要注意下 APP 的 userAgent 是没有移动端Mobile的标识的,本地测试是 userAgent=okhttp/3.11.0,他在第一层机器标识里只属于【电脑端PC等】

805-1727.png

集成框架

支持配置集成系统的来源,即请求头的 Referer(网站来路

注:Referer是HTTP中的一个请求头,其内容指明了请求资源的来源地址 (仅需要域名和端口号即可)。

805-1729.png

2)权限资源配置

注:超管登录的情况:如果当前访问的是决策平台和自定义资源,超管登录的情况下,不做权限拦截。防止配置不当,导致超管进不去平台。

访问资源
说明
决策平台
H5决策平台
决策平台目录

支持单独选择和全选。单独选择时,后续新增的报表需要补充选择

注:目录挂载为【添加链接】类型的目录不在控制范围内

报表目录

支持单独选择和全选。单独选择时,后续新增的报表需要补充选择

拦截的是/view/form?viewlet=报表路径、/view/report?viewlet=报表路径

自定义资源

支持配置自定义的URL链接资源


拦截的是除了上述决策平台、决策平台目录、报表目录之外的平台url

仅支持当前服务器Servlet路径(系统管理-常规-常规参数-Servlet路径名)下的请求路径如/decision/xxx

3)有权限与无权限配置

有权限表示当前配置的访问场景有当前配置资源的访问权限

无权限表示当前配置的访问场景没有当前配置资源的访问权限

4)高级配置

用于配置权限项和权限分组之间的关联

注:根据插件 AND 和 OR 的逻辑,只有一个权限项时且为 OR 时,权限拦截是不生效的

对于 OR 来说,其结果为「有权限」的时候,会直接导致当前分组的计算结果为「有权限」。

对于 AND 来说,其结果为 「无权限」 的时候,在没有 OR 权限项先一步导致当前分组为 「有权限」 的情况下,会直接导致当前层级的计算结果为 「无权限」。

a. 当两个权限项同为 AND 时,会优先计算 「无权限」 的权限项。

如下图所示,添加两个权限项,分别设置决策平台目录「有权限」和「无权限」,高级配置选择「AND」

805-1630.png

目录首页>查看目录下模板,无查看权限,被拦截。

805-1639.png

b. 当两个权限项同为 OR 时,会优先计算「有权限」的权限项

如下图所示,添加两个权限项,分别设置决策平台目录「有权限」和「无权限」,高级配置选择「OR」

805-1649.png

目录首页>查看目录下模板,有查看权限,未被拦截。

805-1652.png

c. 当两个权限项一个为 AND,一个为 OR 时,若 OR 的结果为「有权限」则计算「有权限」的权限项,忽略 AND 的权限项结果;若OR的结果为「无权限」则不计算,直接计算 AND 的权限项结果。

  • 决策平台目录「有权限」 - AND,决策平台目录「无权限」 - OR:有查看权限,未被拦截。

  • 决策平台目录「无权限」 - AND,决策平台目录「有权限」 - OR:有查看权限,未被拦截。

  • 决策平台目录「无权限」 - AND,决策平台目录「无权限」 - OR:无查看权限,被拦截。

2.2.3 权限拦截提示文本自定义

1)触发权限拦截后,文本提示显示为:

  • 拦截结果提示文本:默认为【当前页面禁止访问】

  • 拦截原因提示文本:默认为【触发权限项拦截:具体权限项的名称】

  • 拦截解决方案提示文本:默认为【请联系管理员】

2)自定义修改路径:

可在管理系统>系统管理>常规>权限拦截配置,对权限拦截文本提示进行自定义修改

3. 示例编辑

权限拦截主要是两个场景:某个范围没有权限和只有某个范围有权限

3.1 某个范围没有权限示例:禁止外网PC端访问决策平台

禁止外网PC端访问.gif

配置过程:

a. 新建对应命名的权限项

b. 访问场景配置中,网络选择外网

c. 访问场景配置中,访问客户端选择电脑PC端及其他

d. 权限资源配置中,选择决策平台

e. 选中无权限,高级配置选择 AND

f. 保存

3.2 只有某个范围有权限示例:只能在内网环境中用移动端登录决策平台

跟上一个示例有区别,这种情况下需要拦截的场景太多,只从拦截的角度出发容易遗漏,就需要多条权限项配合

只能在内网环境中用移动端登录决策平台.gif

配置过程:

a. 新建第一个权限项  ----用于拦截所有访问决策平台的场景

b. 访问场景配置中,不选择(不选择也就是默认全选)

c. 权限资源配置中,选择决策平台

d. 选中无权限,高级配置选择 AND

e. 创建第二个权限项  ----用于给固定的访问场景权限

f. 访问场景配置中,网络选择内网

g. 访问场景配置中,访问客户端选择移动Mobile端

h. 权限资源配置中,选择决策平台

i. 选中有权限,高级配置选择 OR

j. 保存

4. 注意事项编辑

a. 数据分析APP中没有决策平台的概念,故配置数据分析APP访问决策平台的权限项不起作用。

b. 常见的配置误区:配置【OR 无权限】然后还是可以访问,这是因为 OR 只有为「有权限」的时候才会直接导致结果为「有权限」,否则就是继续计算或取默认结果「有权限」

c. 常见的配置误区:配置【AND 有权限 】选择【自定义资源】/decision/xxx,然后导致超管退出后无法访问工程。这是因为【AND 有权限】的组合实际上是一个强制白名单(没有选择的资源会变成「无权限」,导致权限项计算结果为「无权限」)。