iPortal如何灵活设置用户名及密码的安全规则

作者:yx

目录

前言

一、配置文件介绍

1、<passwordRules>节点

 注意事项:

2、<usernameRules>节点

二、应用实例

1、配置文件设置

2、验证扩展结果

三、结果展示



前言

SuperMap iPortal提供了扩展账户信息合规度校验规则的能力,您可以灵活定制满足自身项目需求的用户名、密码合规度校验规则,用于校验您创建的账户信息是否合规。您需要通过修改配置文件的方式来扩展定制用户名、密码校验规则,填写内容包括用于合规度校验的正则表达式、字典或字符串,以及校验失败时提示的报错信息等。

一、配置文件介绍

在产品包根目录 %SuperMap iPortal_HOME%/webapps/iportal/WEB-INF/config下,accountInfoComplianceRules.xml 文件中内置了 SuperMap iPortal当前已经支持的账户信息合规度校验规则。其中,密码规则详见:用户管理

配置文件根节点为<rules>元素,包括以下两个子节点:

1、<passwordRules>节点

为用于配置密码合规度校验规则的集合,可以包含多个<rule>标签。每个<rule>标签对应一种密码合规度校验规则,包含合规度规则的校验方式(<type>)、规则名(<name>)、规则表达式(<expression>)、中文报错信息(<zhErrMsg>)以及英文报错信息(<enErrMsg>)等配置项。

<passwordRules>节点示例如下所示:

<passwordRules><rule><type>regularExpression</type><name>PwdLength</name><expression><![CDATA[\S{8,}]]></expression><zhErrMsg>密码长度至少为8字符</zhErrMsg><enErrMsg>Password must contain at least 8 characters</enErrMsg></rule><rule><type>dictionary</type><name>NotContainsContinuationCharacter</name><expression><condition>notcontainscontinuouschars,3</condition><dictionary>abcdefghijklmnopqrstuvwxyz</dictionary><dictionary>ABCDEFGHIJKLMNOPQRSTUVWXYZ</dictionary><dictionary>0123456789</dictionary></expression><zhErrMsg>密码不能包含三个或三个以上连续字符</zhErrMsg><enErrMsg>Password can’t contain three or more continuous characters and numbers</enErrMsg></rule><rule><type>StringMatch</type><name>notContainsUsernameAndReverse</name><expression><condition>notcontainsextraparamsandreverse</condition><paramContent>${username}</paramContent></expression><zhErrMsg>密码不能包含用户名及其倒写</zhErrMsg><enErrMsg>Pasword can't contain the user name and its reverse</enErrMsg></rule>
</passwordRules>

其中,

  • <type>:用于设置校验合规度规则的方式,包括正则表达式(regularExpression)、字典(dictionary)和字符串匹配(StringMatch)等三种类型。
  • <name>:用于设置合规度规则的规则名。
  • <expression>:用于设置合规度规则的表达式。当<type>为正则表达式(regularExpression)时设置描述合规度规则的正则表达式,并且没有子节点;为字典(dictionary)和字符串匹配(StringMatch)时,包括如下子节点:  
  • <condition>:用于设置合规度规则的匹配条件。当<type>为字典(dictionary)时,需根据规则设置与字典的关联条件及与字典关联的字符个数,用“,”连接(例如:notcontainscontinuouschars,3);当<type>为字符串匹配(StringMatch)时,需根据规则设置与字符串的关联条件,如:notcontainsextraparamsandreverse。
  • <dictionary>:用于设置合规度规则的关联字典。当<type>为字典(dictionary)时,该参数可选。在同一个<expression>节点中,可设置多个<dictionary>。
  • <paramContent>:用于设置合规度规则的关联字符串。当<type>为字符串匹配(StringMatch)时,该参数可选。在同一个<expression>节点中,仅可设置一个<paramContent>,且<paramContent>中只能包含一个字符串,例如填写为 test。
  • <zhErrMsg>:用于设置校验合规度规则时失败时的中文提示信息。
  • <enErrMsg>:用于设置校验合规度规则时失败时的英文提示信息。

 注意事项:

  1. 请注意,当前仅支持在<type>为字典(dictionary)时设置不包含连续字符(notcontainscontinuouschars)和在<type>为字符串匹配(StringMatch)时设置不包含字符及其倒写(notcontainsextraparamsandreverse)两种关联条件。
  2. 请注意,在配置文件内置的规则中,${username} 指用户设置的用户名字符,该配置仅能作为整体使用或替换。

2、<usernameRules>节点

为用于配置用户名合规度校验规则的集合,可以包含多个<rule>标签。每个<rule>标签对应一种用户名合规度校验规则,包含合规度规则的校验方式(<type>)、规则名(<name>)、规则表达式(<expression>)、中文报错信息(<zhErrMsg>)以及英文报错信息(<enErrMsg>)等配置项。

<usernameRules>节点配置方法同<passwordRules>节点,示例如下所示:

<usernameRules><rule><type>regularExpression</type><name>UsernameLength</name><expression><![CDATA[^[a-zA-Z][a-zA-Z0-9_-]{3,17}$]]></expression><zhErrMsg>用户名必须是数字、字母、下划线或中划线组成,且以字母开头</zhErrMsg><enErrMsg>User name must be composed of numbers, letters, underscores or dash, and begin with a letter.</enErrMsg></rule>
</usernameRules>

二、应用实例

1、配置文件设置

在产品包根目录 %SuperMap iPortal_HOME%webapps/iportal/WEB-INF/config 下,accountInfoComplianceRules.xml 文件的子节点<passwordRules>中添加如下内容:

<passwordRules>…<rule><type>dictionary</type><name>NotContainsKeyboardVerticalContinuationCharacter</name><expression><condition>notcontainscontinuouschars,2</condition><dictionary>1qaz</dictionary><dictionary>2wsxl</dictionary>…<dictionary>9ol.</dictionary></expression><zhErrMsg>根据键盘阵列,密码不能包含两个或两个以上竖排连续的字符</zhErrMsg><enErrMsg>Password can’t contain two or more continuous vertical characters on the keyboard</enErrMsg></rule>
</passwordRules>

由于该规则涉及多个字符,且无法使用正则表达式进行表达,因此使用字典的方式进行校验。其中<dictionary>参数仅列出三组,您可以根据实际情况进行补充设置。

2、验证扩展结果

保存配置文件并重启 SuperMap iPortal,在初始化向导-创建管理员账户、用户管理-添加用户、账户设置-修改密码和强制修改密码等功能中设置密码,即可对输入的密码进行该项合规度规则校验。

注:若对管理员账户密码进行重置,需在重启 SuperMap iPortal前,停止 SuperMap iPortal服务,并执行【SuperMap iPortal_HOME】\bin目录下的 passwordreset.bat/passwordreset.sh 文件。


三、结果展示

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式Linux HID多指触控/触摸设备报表描述符

这里只做一下简单记录&#xff0c;更为详细的修改流程后续的文章再介绍。 报表描述符 0x05, 0x0D, // Usage Page (Digitizer) 0x09, 0x04, // Usage (Touch Screen) 0xA1, 0x01, // Collection (Application) 0x85, 0x01, // Report ID (1) 0…

正点原子嵌入式linux驱动开发——Linux WIFI驱动

WIFI的使用已经很常见了&#xff0c;手机、平板、汽车等等&#xff0c;虽然可以使用有线网络&#xff0c;但是有时候很多设备存在布线困难的情况&#xff0c;此时WIFI就是一个不错的选择。正点原子STM32MP1开发板支持USB和SDIO这两种接口的WIFI&#xff0c;本章就来学习一下如何…

npm的使用

package.json 快速生成package.json npm init -y “version”: “~1.1.0” 格式为&#xff1a;「主版本号. 次版本号. 修订号」。 修改主版本号是做了大的功能性的改动 修改次版本号是新增了新功能 修改修订号就是修复了一些bug dependencies "dependencies": {&…

阿里云服务器优惠购买和搭建网站全流程(图文教程)

阿里云服务器使用教程包括云服务器购买、云服务器配置选择、云服务器开通端口号、搭建网站所需Web环境、安装网站程序、域名解析到云服务器公网IP地址&#xff0c;最后网站上线全流程&#xff0c;新手站长xinshouzhanzhang.com分享阿里云服务器详细使用教程&#xff1a; 一&am…

Android 10.0 SystemUI启动流程

1、手机开机后&#xff0c;Android系统首先会创建一个Zygote&#xff08;核心进程&#xff09;。 2、由Zygote启动SystemServer。 3、SystemServer会启动系统运行所需的众多核心服务和普通服务、以及一些应用及数据。例如&#xff1a;SystemUI 启动就是从 SystemServer 里启动的…

特斯拉的利润率已陷入恶性循环

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 总结&#xff1a; &#xff08;1&#xff09;特斯拉(TSLA)第三季度疲弱的财务业绩表明&#xff0c;在当前环境下&#xff0c;投资特斯拉股票已不再是一项有保障的投资。 &#xff08;2&#xff09;正在进行的价格战可能会进…

私有化部署大模型:5个.Net开源项目

从零构建.Net前后端分离项目 今天一起盘点下&#xff0c;10月份推荐的5个.Net开源项目&#xff08;点击标题查看详情&#xff09;。 1、BootstrapBlazor企业级组件库&#xff1a;前端开发的革新之路 BootstrapBlazor是一个用于构建现代Web应用程序的开源框架&#xff0c;它基…

【数据结构】顺序表和链表

顺序表和链表 1.线性表 线性表&#xff08;linear list&#xff09;是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构&#xff0c;也就说是连…

毅速丨3D打印结合拓扑优化让轻量化制造更容易

轻量化可以减少产品的重量&#xff0c;提高产品的性能和效率&#xff0c;同时减少能源消耗和排放。尤其在航空航天、汽车制造造等行业对轻量化追求更高。当前&#xff0c;随着制造技术的发展&#xff0c;拓扑优化结合3D打印为轻量化制造带来的显著的优势正在逐渐凸显。 首先&am…

随身wifi编译Openwrt的ImmortalWrt分支

背景&#xff1a; 之前用酷安上下载的苏苏亮亮版友提供的Openwrt&#xff0c;在高通410棒子上刷机成功&#xff0c;但编译一直就没搞定。近期听说又出了个分支版本ImmortalWrt&#xff0c;刷了个版本&#xff0c;感觉界面清爽不少&#xff0c;内核也升级&#xff0c;遂打算搞定…

产品经理入门学习(二):产品经理问题思考维度

参考引用 黑马-产品经理入门基础课程 1. 抓住核心用户 1.1 为什么要抓住核心用户 什么是用户&#xff1f; 所有和产品有关系的群体就是用户&#xff0c;他们是一群既有共性&#xff0c;又有差异的群体组合 做产品为什么要了解用户&#xff1f; 了解用户的付费点、更好的优化产…

Linux Vim撤销和恢复撤销快捷键

使用 Vim 编辑文件内容时&#xff0c;经常会有如下 2 种需求&#xff1a; 对文件内容做了修改之后&#xff0c;却发现整个修改过程是错误或者没有必要的&#xff0c;想将文件恢复到修改之前的样子。 将文件内容恢复之后&#xff0c;经过仔细考虑&#xff0c;又感觉还是刚才修改…

python 机器学习 常用函数

一 np.random.randint "randint" 是 "random integer" 的缩写&#xff0c;表示生成随机整数。 np.random.randint 是 NumPy 库中的一个函数&#xff0c;用于生成随机整数。以下是该函数的一般语法&#xff1a; np.random.randint(low, high, size)其中…

tp6使用Spreadsheet报错:Class ‘PhpOffice\PhpSpreadsheet\Spreadsheet‘ not found

问题提示如下&#xff1a; 可能vendor下的 phpoffice是从别的项目拷贝过来的&#xff0c;所以咋都不行 解决办法是删掉vendor下的phpoffice&#xff0c;用composer重新下载 具体操作&#xff1a;1、在项目根目录下cmd执行下面这条命令 composer require phpoffice/phpspread…

【实践篇】一次Paas化热部署实践分享 | 京东云技术团队

前言 本文是早些年&#xff0c;Paas化刚刚提出不久时&#xff0c;基于部门内第一次Paas化热部署落地经验所写&#xff0c;主要内容是如何构建一些热部署代码以及一些避雷经验。 一、设计-领域模型设计 1.首先&#xff0c;确定领域服务所属的领域 2.其次&#xff0c;确定垂直…

【C++】STL容器适配器——stack类的使用指南(含代码使用)(17)

前言 大家好吖&#xff0c;欢迎来到 YY 滴C系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 主要内容含&#xff1a; 欢迎订阅 YY滴C专栏&#xff01;更多干货持续更新&#xff01;以下是传送门&#xff01; 目录 一、stack 类——基本介绍二、stack 类…

CreateProcess error=206, 文件名或扩展名太长

IDEA编译启动springboot项目时&#xff0c;提示这个异常&#xff0c;可以使用以下方式解决&#xff1a; 打开run-->edit configurations-->选择你启动报错的AppLication&#xff0c;如下图配置即可&#xff08;仅限于楼主的解决方式&#xff0c;不保证百分百覆盖&#x…

『亚马逊云科技产品测评』活动征文|如何搭建低成本亚马逊aws云服务器

授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚马逊云科技官方渠道 0. 环境 win10 火狐浏览器 1. 登录 https://aws.amazon.com/cn/ ->…

6 从物理层到MAC层

1、实现局域网中玩游戏 在早期的80后的大学宿舍中&#xff0c;组件一个宿舍的局域网&#xff0c;以便于宿舍内部可以玩游戏. 第一层&#xff08;物理层&#xff09; 1.首先是实现电脑连接电脑&#xff0c;需要依靠网线&#xff0c;有两个头。 2.一头插在一台电脑的网卡上&am…

火山引擎实时、低延时拥塞控制算法的优化实践

摘要 火山引擎智能拥塞控制算法 VICC&#xff08;Volcano Intelligent Congestion Control&#xff09;是一种自适应的拥塞控制算法&#xff0c;旨在解决全球不同网络环境下&#xff0c;不同音视频应用对带宽利用率和延时的差异化要求。它结合了传统拥塞控制算法&#xff08;如…