Webapp 的登录在一台服务器上有效,但在另一台服务器上无效



我在一个项目中遇到了一个奇怪的问题,我一直在努力实现一些额外的功能。我在我的开发机器和本地测试服务器上运行了它。现在,当我在客户机测试服务器上部署ear包时,奇怪的事情发生了。应用程序本身启动时很好,但当试图登录它时,它永远不会成功。密码肯定是正确的。我进入server.log的消息如下:

2011-12-21 11:46:17,202 DEBUG [com.foo.impl.AuthenticationServiceImpl] Authentication event AuthenticationFailureBadCredentialsEvent: admin; details: org.acegisecurity.ui.WebAuthenticationDetails@1c07a: RemoteIpAddress: xx.xx.xx.xx; SessionId: 4022FD9349C4BC35553DD7D96134FDE8
2011-12-21 11:46:17,202 INFO  [com.foo.impl.AuthenticationServiceImpl] Authentication event AuthenticationFailureBadCredentialsEvent: admin; details: org.acegisecurity.ui.WebAuthenticationDetails@1c07a: RemoteIpAddress: xx.xx.xx.xx; SessionId: 4022FD9349C4BC35553DD7D96134FDE8; exception: Bad credentials
2011-12-21 11:46:17,203 DEBUG [com.foo.web.server.AuthenticationFilter] Updated SecurityContextHolder to contain null Authentication
2011-12-21 11:46:17,203 DEBUG [com.foo.web.server.AuthenticationFilter] Authentication request failed: org.acegisecurity.BadCredentialsException: Bad credentials

我删除了新包,并放回了旧的EAR,它已经在那里很多年了,登录也不能在那里工作。我敢肯定,在我到那里之前,它已经在工作了。

我们在所有机器上使用JBoss 4.0.5-GA应用服务器,项目使用acegi-security-1.0.3进行身份验证。

为了确保我没有弄乱任何东西,我将整个JBoss文件夹复制到我的pc上,并将其与我们本地服务器上的文件夹进行比较。区别在于日志文件和postgres-ds.xml。数据库连接在两台服务器上都可以工作,因为我可以从打开首页缓存来自数据库的大多数分类器值中看到。

我不知道是什么引起的。也许有人有过类似的经历,可以给点建议?

问候,Raido

我不是acegi专家,但是更新SecurityContextHolder包含null Authentication"警告某些配置可能是错误的。

需要启用cookie或其他东西吗?

结果是除了我之外的其他人也在测试服务器上搞砸了。他或她可能做的是恢复一个旧的备份,其中有一个错误的Postgre配置版本。结果呢?该应用程序附加到错误的数据库,这导致了密码不匹配的问题,但大多数其他数据与正确数据库中的数据相同。

奇怪的是,配置文件的最后一次修改日期是在2007年,所以最容易理解的解释是备份恢复…

相关内容

最新更新