SuperMap iPortal权限介绍

news2024/9/24 3:24:49

作者:yx


文章目录

  • 前言
  • 一、内置权限
  • 二、自定义权限(11.1.0及以后版本)
    • 1、修改配置文件
    • 2、页面展示
    • 3、api调用
    • 4、结果验证
    • 5、实际应用


前言

iPortal 用户访问和使用门户中资源的能力取决于其用户类型与在门户中拥有的权限,权限通过角色分配给用户,基于角色实现对门户资源的访问控制。有关 iPortal 的权限可以分为内置权限和自定义权限。接下来一起看看吧!


一、内置权限

SuperMap iPortal中的内置权限按照模块、资源、操作的不同划分到了非常小的颗粒度。权限划分请参考:角色管理。方便用户根据业务需要,为自定义角色分配充分且必要的权限集合。

二、自定义权限(11.1.0及以后版本)

用户扩展的开发成果如何进行权限控制呢?例如:前端扩展页面要根据自定义权限来控制UI的显隐,后端自定义RestAPI 要根据自定义权限控制 RestAPI 是否有权访问。在这种情况下,用户可扩展细粒度权限控制项来实现。从11.1.0版本开始iPortal支持自定义权限。

1、修改配置文件

编辑 %SuperMap iPortal_HOME%\webapps\iportal\resources\admin-ui\extend 目录中的 permissions.json 文件,将自定义权限表达式以 json 格式写入。该文件可以在角色管理的权限列表中增加针对访问扩展页面的权限设置项,支持中文、英文两种语言,示例如下:

{
    "permissions":[
      {
        "permission": "portal:custom:admin:extendsPage:viewPage1",
        "label": {
          "zh": "查看iframe扩展示例页面",
          "en": "View iframe extends page"
        }
      }
    ]
}

参数介绍:

  • permissions:权限数组

    • permission:单个权限名, 权限表达式的定义格式 需要和 系统内置权限表达式 加以区分,具体建议如下:

      • 自定义常规权限格式:portal:custom:user:xxx
      • 自定义管理权限格式:portal:custom:admin:xxx
    • label:该权限在角色管理权限列表中的说明。其中 zh 为中文环境下的说明,en 为英文环境下的说明

2、页面展示

保存后,以管理员身份登录 iPortal,即可在管理页面添加角色时看到扩展的内容,如下图所示:
在这里插入图片描述

3、api调用

新建的角色绑定扩展的权限保存后,将该角色分配给用户A,用户A就具备了该权限。调用userprofile接口即可查询当前用户的用户级配置信息,其中modulePermissions字段记录了该用户的权限信息。
userProfile接口介绍如下:
通过对 userProfile 资源发送 GET 请求,可以查询当前用户的用户级配置信息。用户级配置信息包括用户名、用户昵称、用户的类型、用户的角色、用户拥有的权限、用户具有编辑使用权限的 WebApps 等。

GET请求查看当前用户的用户级配置信息
请求参数scope:指定查询的用户级配置信息项。
如果未设置,则返回当前用户所有的用户级配置信息,设置参数后,会返回指定的配置信息,请求参数必须包含在 URI 中。参数类型:String[]
响应结构1)userName:用户名。参数类型:String
2)nickName:用户的昵称。参数类型:String
3)type:用户的类型。包括创建者 “CREATOR” 和查看者 “VIEWER” 两类。参数类型:String
4)theme:用户设置的偏好主题。默认使用管理员配置好的默认主题。参数类型:String
5)roles:用户分配的角色。参数类型:String[]
6)modulePermissions:用户所拥有的权限。参数类型:String[]
7)editableWebApps:用户具有使用权限的 WebApps。参数类型:String[]

4、结果验证

这里以postman发请求为例,截图中可以发现设置的自定义权限生效了
在这里插入图片描述

5、实际应用

有关前端如何使用自定义权限表达式请参考:案例1—以 iFrame 形式扩展新的管理页面,后端自定义RestAPI 判断当前用户有没有某个(自定义)权限,可以通过下面一句代码进行判断。

boolean isPermitted = ThreadContext.getSubject().isPermitted("portal:custom:admin:extendsPage:viewPage1");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1313028.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入分析ClassLocader工作机制

文章目录 一、ClassLoader简介1. 概念2. ClassLoader类结构分析 二、ClassLoader的双亲委派机制三、Class文件的加载流程1. 简介2. 加载字节码到内存3. 验证与解析4. 初始化Class对象 四、常见加载类错误分析1. ClassNotFoundException2. NoClassDefFoundError3. UnsatisfiledL…

2023.12.13 关于 MySQL 复杂查询

目录 聚合查询 聚合函数 group by 子句 执行流程图 联合查询 笛卡尔积 内连接 外连接 左外连接 右外连接 自连接 子查询 单行子查询 多行子查询 EXISTS 关键字 合并查询 union on 和 union 的区别 聚合查询 聚合函数 函数说明COUNT([DISTINCT] expr)返回查询到…

wpf TelerikUI使用DragDropManager

首先,我先创建事务对象ApplicationInfo,当暴露出一对属性当例子集合对于构成ListBoxes。这个类在例子中显示如下代码: public class ApplicationInfo { public Double Price { get; set; } public String IconPath { get; set; } public …

【【ZYNQ 7020显示 图片 实验 】】

ZYNQ 7020显示 图片 实验 关键配置 BRAM 因为本次 我想显示的 图片是 400*400 所以在 内部 的 ROM 存储单元选择 了160000 ZYNQ7020的内部资源 最多是 大概 200000左右的 大小 大家可以根据 资源选择合适的像素 此处存放 内部的 图片转文字的COE文件 PLL设置 我选用的是按…

详解wmvcore.dll丢失的解决方法

wmvcore.dll是一款由Microsoft开发的Windows系统文件,主要用于存储和处理多媒体文件,尤其是Windows媒体视频。该文件对于音频和视频的播放至关重要。如果电脑上缺少这个文件,可能会出现播放问题或者相关的应用程序运行错误。在本文中&#xf…

Netty详解

目录标题 1、前期知识科普1.1 NIO 基本概念1.2 java BIO与NIO对比1.3 Reactor 模型 2、Netty 基础概念2.1 Netty 简介2.2 Netty 执行流程2.3 Netty 核心组件 3、Netty Demo编写3.1 总体框架3.2 具体代码 4、交流群 1、前期知识科普 1.1 NIO 基本概念 阻塞(Block&a…

0x21 树与图的遍历

0x21 树与图的遍历 树与图最常见的储存方式就是使用一个邻接表保存它们的边集。邻接表以head数组为表头,使用ver和edge数组分别存储边的终点和权值,使用next数组模拟链表指针(就像我们在0x13节中讲解邻接表所给出的代码那样)。 …

科技铸就企业转型钢筋铁骨,群硕获评2023年度数字化影响力企业

12月15日,STIF2023第四届国际科创节暨DSC2023国际数字服务大会在北京顺利举行,本次大会以“数实融合 推动高质量发展”为主题,各大科技服务企业齐聚一堂,共同探讨2023科技发展新趋势。 大会上,群硕软件继2022年后再度…

Java版商城:Spring Cloud+SpringBoot b2b2c实现多商家入驻、直播带货及免 费小程序商城搭建

1. 涉及平台 平台管理、商家端(pc端、手机端)、买家平台(h5/公众号、小程序、app端(ios/android)、微服务平台(业务服务) 2. 核心架构 spring cloud、spring boot、mybatis、redis 3. 前端框架…

如何远程访问Axure RP制作的本地web站点实现协同办公

文章目录 前言1.在AxureRP中生成HTML文件2.配置IIS服务3.添加防火墙安全策略4.使用cpolar内网穿透实现公网访问4.1 登录cpolar web ui管理界面4.2 启动website隧道4.3 获取公网URL地址4.4. 公网远程访问内网web站点4.5 配置固定二级子域名公网访问内网web站点4.5.1创建一条固定…

浅析AI视频分析与视频管理系统EasyCVR平台及场景应用

人工智能的战略重要性导致对视频智能分析的需求不断增加。鉴于人工智能视觉技术的巨大潜力,人们的注意力正在从传统的视频监控转移到计算机视觉的监控过程自动化。 1、什么是视频分析? 视频分析或视频识别技术,是指从视频片段中提取有用信息…

java.lang.UnsupportedOperationException

一、背景 记录一次小坑… 最近在写一个关于Excel导出的小需求,由于系统都有一些工具类,还有原来已经做好的导出,直接拿过来改了改就用了,没想到直接报错,尴尬。 还是那句话,别人都能用,我复制…

innovus:ccopt_design流程

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 ccopt完整的流程包括如下几个步骤: spec文件可以只创建一次,无需多次创建。 1)clustering阶段 set_ccopt_property balance_mode cluster …

产品经理之Axure的元件库使用详细案例

⭐⭐ 产品经理专栏:产品专栏 ⭐⭐ 个人主页:个人主页 ​ 目录 前言 一.Axure的元件库的使用 1.1 元件介绍 1.2 基本元件的使用 1.2.1 矩形、按钮、标题的使用 1.2.2 图片及热区的使用 1.3 表单元件及表格元件的使用 1.3.1表单元件的使用 1.3.…

NFS|在linux环境下的安装和配置NFS

简介 NFS全称网络文件系统,可用于不同服务器之间的文件共享。 接下来介绍下NFS在linux环境下安装和配置。主要分为服务端和客户端。 服务端安装 开启rpcbind/portmap和nfs服务 # service portmaper start [rootlocalhost java]# service portmap start Redirectin…

低代码平台浅析:引迈JNPF

低代码平台能够改变应用交付和管理的模式,大幅缩减交付周期,最终帮助业务加速创新。引迈JNPF作为当中的一个低代码平台,其在用户体系方面做得怎样呢?我针对引迈JNPF进行了相关体验与测评,一起来看下。 低代码平台体验简…

SpringBoot Starter机制 ——自动化配置

目录 一、Starter机制 1.1 什么是 SpringBoot Starter 1.2 SpringBoot Starter 的作用 1.3 Starter的应用场景 二、案例 2.1 模拟短信发送模版 2.2 AOP实现日志切面模版 一、Starter机制 1.1 什么是 SpringBoot Starter Spring Boot Starter是Spring Boot框架提供的一种…

[Linux] LVS负载均衡群集+NAT部署

一、LVS负载均衡群集知识 1.1 群集的的定义及意义 Cluster,集群(也称群集)由多台主机构成,但对外只表现为一一个整体,只提供一-个访问入口(域名或IP地址), 相当于一台大型计算机。 群集的作用&#xff1…

upload-labs笔记

简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共21关,每一关都包含着不同上传方式。 文件上传漏洞是指: Web 服务器允许用户将文件上传至其…

使用blip2进行图片输入文本输出

多模态的重要模型blip2,官方提供模型可以直接用来图片生成文本 github地址:https://github.com/salesforce/LAVIS/tree/main/projects/blip2 个人相当于跑了一下blip2的demo,记录下过程,供今后需要参考: 1、首先是环境安装&#…