2

我正在处理一个结合使用 Spring Security、Spring bean、JSF、PrimeFaces 和 Hibernate 的项目。

在主页中,我使用 poll 每隔 10 秒自动获取最新数据。

<h:form>
    <p:poll interval="10"
            listener="#{mailBean.refreshMail}"
            update=":list-email"/>
</h:form>

问题是在我登录到主页后,我在另一个选项卡中打开主页,在该选项卡中,我单击注销并重定向到登录页面。

即使会话结束,poll 将继续发送 ajax 请求并在每 10 秒后得到响应。

然后我等待几秒钟并再次单击登录以转到主页,但这次它显示了 XML 内容,这是投票的部分响应。

这是图片链接: 在此处输入图像描述

如果我刷新页面,它会再次变得正常。我不知道为什么它会呈现这样的视图。

我花了很多时间试图解决这个问题,但我做不到。请帮帮我。谢谢你。

4

1 回答 1

2

正如 BalusC 先生所说,Spring Security 将在登录后重定向到最后一个请求。因为我使用了 Poll,所以它会在 10 秒后向主页发出 ajax 请求,当我再次登录时,它会重定向到 ajax 请求。

因此,为了解决这个问题,我在安全 xml 文件中进行如下配置,以便在登录后始终重定向到默认页面。

<form-login 
    login-page="/login.html"
    authentication-failure-url="/login.html?status=LOGIN_FAILURE"
    default-target-url="/index.html"
    always-use-default-target="true" />

非常感谢,BalusC 先生。

于 2015-02-06T03:55:20.543 回答