2
我为我的Java/Tomcat应用程序创建了一个过滤器,它使用spnego通过kerberos对用户进行身份验证。除非用户关闭了IWA(集成Windows身份验证),否则它非常有效。过滤器所做的第一件事是设置SC_UNAUTHORIZED(401)以便浏览器进行协商。如何清除状态401 HttpServletResponse.SC_UNAUTHORIZED?
httpResponse.setStatus(HttpServletResponse.SC_UNAUTHORIZED, true);
一旦发生这种情况它将运行在相同的路径和失败,一遍又一遍,并用一个空白页结束。我所做的是添加一个会话变量来计算失败次数。三次失败后,我想清除SC_UNAUTHORIZED并让页面继续加载。所有这一切意味着用户将在网站上结束,但没有登录,这很好。
我曾尝试以清除标志,但它什么都没有:
System.out.println("check status 1: " + httpResponse.getStatus());
httpResponse.setStatus(HttpServletResponse.SC_OK);
System.out.println("check status 2: " + httpResponse.getStatus());
两个版画仍然是401.我本来期望第二个是200你如何改变SC_UNAUTHORIZED一旦设置好了?我知道我只是想念一件简单的事情。
也许你可以发送重定向到servlet,它基于表单的身份验证? – 2012-04-30 01:57:27