2011-06-24 225 views
2

我知道这个问题似乎被许多其他线程回答,但我无法找到与用于注销用户的Glassfish 3.0.1的JSF 2.0的解决方案。 我尝试了使用j_security_check作为操作的BASIC身份验证和FORM身份验证。 但是对于注销方法,我找不到任何可用的工具。JSF身份验证注销

我试着用session.invalidate()中的一个servlet,我用一个托管bean tring来使该会话无效,但什么也没有发生。我也尝试了j_security_logout而没有成功。

有人知道我可以做什么来注销用户吗?

回答

7

调用session.invalidate()应该工作。

你的问题可能是你使用的浏览器后退按钮来查看受限页面来测试是否注销真的成功了,但是页面实际上从浏览器缓存,而不是直接从Web服务器提供了一个真正的HTTP连接。

在这种情况下,您需要指示网页浏览器而不是缓存受限制的页面。这样浏览器将总是直接从网络服务器请求页面。你可以在Filter的帮助下做到这一点。你可以在这个问题中找到一个例子:Prevent user from seeing previously visited secured page after logout