作者:yx
目录
SuperMap iPortal提供了扩展账户信息合规度校验规则的能力,您可以灵活定制满足自身项目需求的用户名、密码合规度校验规则,用于校验您创建的账户信息是否合规。您需要通过修改配置文件的方式来扩展定制用户名、密码校验规则,填写内容包括用于合规度校验的正则表达式、字典或字符串,以及校验失败时提示的报错信息等。
在产品包根目录 %SuperMap iPortal_HOME%/webapps/iportal/WEB-INF/config下,accountInfoComplianceRules.xml 文件中内置了 SuperMap iPortal当前已经支持的账户信息合规度校验规则。其中,密码规则详见:用户管理
配置文件根节点为<rules>元素,包括以下两个子节点:
为用于配置密码合规度校验规则的集合,可以包含多个<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>
其中,
为用于配置用户名合规度校验规则的集合,可以包含多个<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>
在产品包根目录 %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>参数仅列出三组,您可以根据实际情况进行补充设置。
保存配置文件并重启 SuperMap iPortal,在初始化向导-创建管理员账户、用户管理-添加用户、账户设置-修改密码和强制修改密码等功能中设置密码,即可对输入的密码进行该项合规度规则校验。
注:若对管理员账户密码进行重置,需在重启 SuperMap iPortal前,停止 SuperMap iPortal服务,并执行【SuperMap iPortal_HOME】\bin目录下的 passwordreset.bat/passwordreset.sh 文件。
更多【安全-iPortal如何灵活设置用户名及密码的安全规则】相关视频教程:www.yxfzedu.com