0

我在部署在 tomcat 5.5.26 中的 web 应用程序中使用 spring 和 acegi。

我想查看用户是否在 404 页面上登录,这样我们可以在他们登录时显示他们的姓名,否则显示登录链接。

我在请求调度程序的过滤器中有 HttpSessionContextIntegrationFilter。我在 ERROR 调度程序中也有它。

代码路径显示请求进入我的应用程序,通过 REQUEST 调度程序到 HttpSessionContextIntegrationFilter 记录它已被应用,设置用户上下文,然后继续过滤器链,然后清除用户上下文。然后它沿着 ERROR 调度程序前进,但是 HttpSessionContextIntegrationFilter 没有做任何事情,因为它已经为这个请求运行了,所以当它到达 404 页面时,上下文中没有身份验证(因为它被清除了出路)而不是放回去。

4

1 回答 1

0

这似乎是因为我们使用的是 acegi 1.0.3。

升级到 acegi 1.0.7 就是答案。

于 2009-02-13T16:28:31.793 回答