[b]Bug现象:[/b]
创建和编辑连接器连接池安全映射时,同一连接池中,如果输入的安全映射名称、用户组名|主体名称已存在,创建失败,页面无提示,后台抛错。
[b]Bug原因:[/b]
创建和编辑连接器连接池安全映射时,输入项均未加入合法值校验,导致在同一连接池中,如果输入的安全映射名称、用户组名|主体名称已存在,页面创建不成,后台会抛出名称已存在的异常。
[b]Bug修改方案:[/b]
给创建和编辑连接数安全映射添加合法值校验 ,校验依据为:
1.所有项不能为空(用户组|主体任选其一);
2.不能存在如下字符:\\:*?\"<>|"
3.首字符必须为英文(用户名/密码不适合此条)
4.同一连接池内,安全映射名称、用户组名|主体名称具有唯一性(不同连接池内可以相同)
5.密码非明文显示
其中依据4是通过增加一个servlet(ValidateSecurityMapName.java),调用底层API,读取twns.xml文件中连接器连接池配置信息:
然后再获取连接池中的安全映射配置信息:
分别判断同一连接池中输入的安全映射名称、用户组名|主体名称已存在,如果存在则页面给与提示,并不允许点击"创建"或"保存"按钮。
修改代码:
创建和编辑连接器连接池安全映射时,同一连接池中,如果输入的安全映射名称、用户组名|主体名称已存在,创建失败,页面无提示,后台抛错。
[b]Bug原因:[/b]
创建和编辑连接器连接池安全映射时,输入项均未加入合法值校验,导致在同一连接池中,如果输入的安全映射名称、用户组名|主体名称已存在,页面创建不成,后台会抛出名称已存在的异常。
[b]Bug修改方案:[/b]
给创建和编辑连接数安全映射添加合法值校验 ,校验依据为:
1.所有项不能为空(用户组|主体任选其一);
2.不能存在如下字符:\\:*?\"<>|"
3.首字符必须为英文(用户名/密码不适合此条)
4.同一连接池内,安全映射名称、用户组名|主体名称具有唯一性(不同连接池内可以相同)
5.密码非明文显示
其中依据4是通过增加一个servlet(ValidateSecurityMapName.java),调用底层API,读取twns.xml文件中连接器连接池配置信息:
Iterator<ConnectorConnectionPoolConfig> iter = AMXUtil
.getTwnsConfig().getConnectorConnectionPoolConfigMap()
.values().iterator();
然后再获取连接池中的安全映射配置信息:
Iterator<SecurityMapConfig> iter1 = connectorConnectionPoolConfig
.getSecurityMapConfigMap().values().iterator();
分别判断同一连接池中输入的安全映射名称、用户组名|主体名称已存在,如果存在则页面给与提示,并不允许点击"创建"或"保存"按钮。
修改代码:
Added:
trunk/TWNS-ConsoleSrc/src/com/twns/servlet/validation/ValidateSecurityMapName.java
Modified:
trunk/TWNS-ConsoleSrc/twns/connector/createSecurityMap.jsp
trunk/TWNS-ConsoleSrc/twns/connector/securityMap.jsp
trunk/TWNS-ConsoleSrc/twns/resource/js/validation.js
trunk/TWNS-ConsoleSrc/twns/WEB-INF/web.xml