WebSphere 7.0 登录域验证问题(紧急求大神解决)

大家好,我最近在项目中遇到一个难题,现象是同一个用户(用A用户代替)用正确的账号和密码登录系统一会能登录成功,一会又登录不成功,频率是登录10次,8次不成功,登录成功与不成功的时间没有规律,好像是随机的;有一个用户(用B用户代替)全能登录成功,登录不成功的概率比前面提高的用户频率...显示全部

大家好,我最近在项目中遇到一个难题,现象是同一个用户(用A用户代替)用正确的账号和密码登录系统一会能登录成功,一会又登录不成功,频率是登录10次,8次不成功,登录成功与不成功的时间没有规律,好像是随机的;有一个用户(用B用户代替)全能登录成功,登录不成功的概率比前面提高的用户频率要低很多,登录100次,可能有一次不成功,发生的时间段没有规律)。

现场环境是:我们的系统部署在WAS 中(WAS中只部署了我们一个系统),系统中配置了一个过滤器(类似于STRUT2 中的ACTION ),我们自己

只按照IBM的要求编写了对应的登录和登录失败表单,将用户和密码传递给IBM的JAR包,来完成系统中域验证。WAS中配置了域认证机制,采用

了联合存储库,域服务器版本是WINDOWS 2008 R2,WAS 大版本:7.0,前期排查了一些信息,概要如下:

1.我在域服务器通过事件查看器,看到这个用户所有的域验证都是审核通过的。

2.通过ping 命令检查过网络都是稳定的。

3.怀疑防火墙阻断通信,但是我没有验证,认为如果是防火墙,它顶多就是封端口,彻底不能通信,应该不会出现一会登录通过,一会登录不

通过的,。

4.通过域服务器工具查看上面提高的A用户和B用户所有属性比较,没有发现特殊不一致的地方。

5.查看了WAS自带的故障诊断模块,没有发现一些连接数异常,(或者我看的方法不对,请指正)。

6.证书到期会出现上诉现象么?请指教?

7.是否可以通过修改WAS的配置来解决这个问题?

8.我上诉描述的可能不清晰,请指正,或者通过我的描素,给我一个解决问题的思路,我现在不知道如何下手?

日志片段如下: (有时还会看到后台打印证书到期的日志,通过WAS页面,证书我看也没到期啊,不清楚)

[15-11-23 10:44:09:838 CST] 0000003f UserRegistryI E   SECJ0363E: 由于下列异常

com.ibm.websphere.wim.exception.WIMSystemException: CWWIM4520E  在处理期间发生了“javax.naming.CommunicationException:

csr.com:389 [Root exception is java.net.ConnectException: Connection timed out: connect]”命名异常。

at com.ibm.ws.wim.adapter.ldap.LdapConnection.getAttributes(LdapConnection.java:1018)

at com.ibm.ws.wim.adapter.ldap.LdapConnection.checkAttributesCache(LdapConnection.java:1320)

at com.ibm.ws.wim.adapter.ldap.LdapConnection.getEntityByIdentifier(LdapConnection.java:2612)

at com.ibm.ws.wim.adapter.ldap.LdapAdapter.getGroupsByMembership(LdapAdapter.java:1633)

at com.ibm.ws.wim.adapter.ldap.LdapAdapter.getGroups(LdapAdapter.java:1944)

at com.ibm.ws.wim.adapter.ldap.LdapAdapter.get(LdapAdapter.java:1444)

at com.ibm.ws.wim.ProfileManager.getImpl(ProfileManager.java:1661)

at com.ibm.ws.wim.ProfileManager.genericProfileManagerMethod(ProfileManager.java:319)

at com.ibm.ws.wim.ProfileManager.get(ProfileManager.java:372)

at com.ibm.websphere.wim.ServiceProvider.get(ServiceProvider.java:348)

at com.ibm.ws.wim.registry.util.MembershipBridge.getUniqueGroupIds(MembershipBridge.java:598)

at com.ibm.ws.wim.registry.WIMUserRegistry$12.run(WIMUserRegistry.java:954)

at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5306)

at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5394)

at com.ibm.ws.wim.security.authz.jacc.JACCSecurityManager.runAsSuperUser(JACCSecurityManager.java:432)

at com.ibm.ws.wim.security.authz.ProfileSecurityManager.runAsSuperUser(ProfileSecurityManager.java:964)

at com.ibm.ws.wim.registry.WIMUserRegistry.getUniqueGroupIds(WIMUserRegistry.java:942)

at com.ibm.ws.security.registry.UserRegistryImpl.createCredential(UserRegistryImpl.java:774)

at com.ibm.ws.security.ltpa.LTPAServerObject.authenticate(LTPAServerObject.java:974)

at com.ibm.ws.security.server.lm.ltpaLoginModule.login(ltpaLoginModule.java:659)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)

at java.lang.reflect.Method.invoke(Method.java:611)

at javax.security.auth.login.LoginContext.invoke(LoginContext.java:795)

at javax.security.auth.login.LoginContext.access$000(LoginContext.java:209)

at javax.security.auth.login.LoginContext$4.run(LoginContext.java:709)

at java.security.AccessController.doPrivileged(AccessController.java:251)

at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:706)

at javax.security.auth.login.LoginContext.login(LoginContext.java:591)

at com.ibm.ws.security.auth.JaasLoginHelper.jaas_login(JaasLoginHelper.java:479)

at com.ibm.ws.security.auth.ContextManagerImpl.login(ContextManagerImpl.java:4645)

at com.ibm.ws.security.auth.ContextManagerImpl.login(ContextManagerImpl.java:4268)

at com.ibm.ws.security.auth.ContextManagerImpl.login(ContextManagerImpl.java:4264)

at com.ibm.ws.security.web.FormLoginExtensionProcessor$1.run(FormLoginExtensionProcessor.java:483)

at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)

at com.ibm.ws.security.web.FormLoginExtensionProcessor.formLogin(FormLoginExtensionProcessor.java:491)

at com.ibm.ws.security.web.FormLoginExtensionProcessor.handleRequest(FormLoginExtensionProcessor.java:231)

at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:100)

at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)

at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908)

at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:997)

at com.ibm.ws.webcontainer.webapp.WebApp.invokeFilters(WebApp.java:4025)

at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3874)

at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)

at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931)

at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)

at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)

at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)

at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)

at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)

at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:263)

at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators

(NewConnectionInitialReadCallback.java:214)

at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)

at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)

at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)

at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)

at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)

at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)

at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)

at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)

at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604)

而导致无法为用户 010500018157 创建凭证。

[15-11-23 10:44:09:838 CST] 0000003f LTPAServerObj E   SECJ0369E: 使用 LTPA 时认证失败。异常:

[15-11-23 10:44:09:838 CST] 0000003f FormLoginExte E   SECJ0118E: 认证用户 010500018157 期间发生认证错误

收起
参与5

返回bj5921的回答

bj5921bj5921技术支持WAS

[15-11-23 10:44:09:838 CST] 0000003f UserRegistryI E   SECJ0363E: 由于下列异常

com.ibm.websphere.wim.exception.WIMSystemException: CWWIM4520E  在处理期间发生了“javax.naming.CommunicationException:

csr.com:389 [Root exception is java.net.ConnectException: Connection timed out: connect]”命名异常。


这段日志看到,连接上有问题,长ping csr.com 是否有丢包的情况。

IT咨询服务 · 2015-12-15
浏览2112

回答者

bj5921
技术支持WAS
擅长领域: 中间件服务器应用服务器

bj5921 最近回答过的问题

回答状态

  • 发布时间:2015-12-15
  • 关注会员:2 人
  • 回答浏览:2112
  • X社区推广