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