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

目录:

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) 访问场景配置

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

  • 访问用户

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

  • 网络

访问网络可以分为内网,外网以及自定义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

  • 访问客户端

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

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

  • 集成框架

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

Referer是HTTP中的一个请求头,其内容指明了请求资源的来源地址

(仅需要域名和端口号即可)

2)权限资源配置

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

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

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

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

报表目录

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

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

自定义资源

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


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

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

3)有权限与无权限配置


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

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

4)高级配置

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

AND&OR的逻辑:(true表示有权限,false表示无权限)

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

对于OR来说,其结果为true的时候,会直接导致当前分组的计算结果为true
对于AND来说,其结果为false的时候,在没有OR 权限项先一步导致当前分组为true的情况下,会直接导致当前层级的计算结果为false
场景:
a. 当两个权限项同为AND时,会优先计算false的权限项
b. 当两个权限项同为OR时,会优先计算ture的权限项
c. 当两个权限项一个为AND,一个为OR时,若OR的结果为ture则计算ture的权限项,不计算AND的结果为false,若OR的结果为false则不计算,直接计算AND的权限项结果

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只有为true的时候才会直接导致结果为true,否则就是继续计算或取默认结果true。

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