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.mzph.cn/news/134725.shtml

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

相关文章

一名优秀的C++人员是怎么炼成的?

一名优秀的C人员是怎么炼成的? 优秀的程序员都是解决各种bug锻炼出来的&#xff0c;程序员每天的工作大部分时间都是在解决各种bug, 所以说多做项目才是提升能力的唯一途径&#xff0c;要不然就是花架子&#xff0c;各种技术名词、源码整的很溜&#xff0c;一如果不是喜欢 C …

WPF中依赖属性及附加属性的概念及用法

完全来源于十月的寒流&#xff0c;感谢大佬讲解 依赖属性 由依赖属性提供的属性功能 与字段支持的属性不同&#xff0c;依赖属性扩展了属性的功能。 通常&#xff0c;添加的功能表示或支持以下功能之一&#xff1a; 资源数据绑定样式动画元数据重写属性值继承WPF 设计器集成 …

阴虱是怎么长出来的?皮肤性病科主任谭巍讲述五大因素

阴虱&#xff0c;是一种皮肤接触性传染性寄生虫病&#xff0c;在卫生情况不好的前提下有感染阴虱的可能性。人在感染阴虱后会对身心健康带来负面影响&#xff0c;所产生的临床症状会直接影响感染者的工作生活&#xff0c;所以日常应注意预防阴虱病。 然而&#xff0c;到现在还…

AI时代项目经理与架构师的成长之道:ChatGPT让你插上翅膀

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 在AI时代&#xff0c;项…

Vue3.0 声明式导航,编程式导航,路由,路由拦截案例

项目结构 App.vue&#xff1a;根组件 <template><div><router-view></router-view><Tabbar></Tabbar></div> </template> <script setup> import Tabbar from ../src/views/Tabbar.vue; //底部选项卡 import Home from…

Android T窗口动画添加移除流程(更新中)

APP侧窗口动画demo 如何创建一个窗口动画&#xff1f;我们通过先从APP创建一个窗口&#xff0c;以这个窗口的创建过程的窗口动画为例 这个demo就是点击BUTTON显示窗口&#xff0c;点击CLOSE WINDOW关闭窗口&#xff0c;下面简述关键代码 //定义WindowManager和LayoutParams…

Go:如何在GoLand中引用github.com中的第三方包

本篇博客主要介绍如何在GoLand中引入github.com中的第三方包。具体步骤如下&#xff1a; 正文 (1) 先在GoLand中打开go的工作区目录(即环境变量$GOPATH设置的变量)。如图&#xff1a; 关于工作区目录中的三个子目录: bin: 保存已编译的二进制可执行程序&#xff1b;pkg: 保…

深度学习之基于Tensorflow卷积神经网络花卉识别系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 深度学习是一种机器学习方法&#xff0c;它通过模拟人脑神经网络的结构和功能来实现对数据的自动分析和学习。卷积神…

SpringCloud——服务网关——GateWay

1.GateWay是什么&#xff1f; gateway也叫服务网关&#xff0c;SpringCloud GateWay使用的是Webflux中的reactor-netty响应式编程组件&#xff0c;底层使用了Netty通讯框架。 gateway的功能有反向代理、鉴权、流量控制、熔断、日志监控...... 2.为什么不使用Zuul&#xff1f…

EasyExcel 导出冻结指定行

导出的实体类 package org.jeecg.modules.eis.test;import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.write.style.*; import lombok.Getter; import lombok.Setter; import org.apache.poi.ss.usermodel.HorizontalAlignment;import…

Android Studio代码无法自动补全

Android Studio代码自动无法补全问题解决 在写layout布局文件时&#xff0c;代码不提示&#xff0c;不自动补全&#xff0c;可以采用如下方法&#xff1a; 点击File—>Project Structure&#xff0c;之后如图所示&#xff0c;找到左侧Modules&#xff0c;修改SDK版本号&…

Android笔记:(最全)判断网线是否插入方法

1.通过调用命令: cat /sys/class/net/eth0/carrier1.1在java代码中执行adb命令: private fun execCommand(command: String?): String {val runtime

【算法秘籍】藏在0和1之间的秘密,助你码出优秀人生

《算法秘籍》双十一 5折购书&#xff0c;就在京东商城 数据结构和算法是计算机科学的基石&#xff0c;是计算机的灵魂&#xff0c;要想成为计算机专业人员&#xff0c;学习和掌握算法是十分必要的。不懂数据结构和算法的人不可能写出效率更高的代码。计算机科学的很多新行业都离…

python加上ffmpeg实现音频分割

前言: 这是一个系列的文章,主要是使用python加上ffmpeg来对音视频文件进行处理,包括音频播放、音频格式转换、音频文件分割、视频播放等。 系列文章链接: 链接1: python使用ffmpeg来制作音频格式转换工具(优化版) 链接2:<Python>PyQt5+ffmpeg,简单视频播放器的编写(…

虚拟环境中使用的Python不是当前虚拟环境的,解决方法

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 在虚拟环境中使用的python和pip不是虚拟环境的pip安装不到当前的虚拟环境中…等 解决方法 1. 解决办法 打开配置文件 vim ~/.bashrc把如下代码注释即…

如何进行单病种质控上报管理

过程质量管理发展历程 单病种质量管理兴起之初&#xff0c;医疗机构多强调致残率、致死率、平均住院日、治愈好转率等结果性指标。这些指标主观性强&#xff0c;且为事后管理&#xff0c;无法及时发现问题&#xff0c;具有滞后性。 《卫生部办公厅关于开展单病种质量管理控制…

vue开发环境搭建部署(mac版)

前言 目前后端工作越来越少了&#xff0c;年底了&#xff0c;为了先过验收。项目负责人、产品、需求制定的方案就是先做假页面&#xff0c;所以前端的活多点。 其实现在不喜欢搞前端&#xff0c;原因很多&#xff0c;但是感觉现在似乎流行的码林绝学又是九九归一的瓶颈期…

Vue实现面经基础版案例(路由+组件缓存)

一、面经基础版-案例效果分析 1.面经效果演示 2.功能分析 通过演示效果发现&#xff0c;主要的功能页面有两个&#xff0c;一个是列表页&#xff0c;一个是详情页&#xff0c;并且在列表页点击时可以跳转到详情页底部导航可以来回切换&#xff0c;并且切换时&#xff0c;只有…

掌握未来:PureBasic for Mac引领BASIC语言编辑器的新潮流

PureBasic for Mac是一种创新的BASIC语言编辑器&#xff0c;它赋予了编程更多的可能性。在这个充满机遇的时代&#xff0c;掌握编程就等于掌握了一种强大的工具&#xff0c;能够更好地理解和塑造世界。而PureBasic for Mac&#xff0c;正是这样一个让你轻松上手&#xff0c;高效…

如何开发一个求职招聘小程序?详细步骤解析与教程

一、确定需求和功能 在开发求职招聘小程序之前&#xff0c;需要明确需求和功能。通过对市场和用户需求的调研和分析&#xff0c;确定小程序需要具备哪些功能&#xff0c;如职位发布、简历投递、在线沟通、面试安排等。 二、选择开发方式 求职招聘小程序的开发方式有多种选择…