`
pengtyao
  • 浏览: 396757 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

创建安全映射重名校验问题

阅读更多
Bug现象:

创建和编辑连接器连接池安全映射时,同一连接池中,如果输入的安全映射名称、用户组名|主体名称已存在,创建失败,页面无提示,后台抛错。
Bug原因:

创建和编辑连接器连接池安全映射时,输入项均未加入合法值校验,导致在同一连接池中,如果输入的安全映射名称、用户组名|主体名称已存在,页面创建不成,后台会抛出名称已存在的异常。
Bug修改方案:

给创建和编辑连接数安全映射添加合法值校验 ,校验依据为:

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


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics