2012-04-15 5 views
0

Можно ли перехватить отправку ответа клиенту и отправить измененный ответ в окончательном? Я хочу удалить заголовок «WWW-Authenticate» из Basic Auth response или изменить код ошибки с 401 по 403 в неправильном случае аутентификации. P.S. У меня та же проблема: http://www.java.net/forum/topic/glassfish/glassfish/suppress-www-authenticate-header-if-basic-auth-failsКак изменить ответ перед отправкой

ответ

0

Я пробовал использовать фильтр с HttpServletResponseWrapper, но мой фильтр никогда не вызывался до JAAS Basic HTTP Authentication. Я решил свои проблемы с раздражающим всплывающим окном с помощью следующего кода

В web.xml:

<error-page> 
    <error-code>401</error-code> 
    <location>/error.jsp</location> 
</error-page> 

error.jsp:

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title></title> 
    </head> 
    <body> 
     <% 
     int status = response.getStatus(); 
     if (status == 401) { 
      response.setStatus(403); 
     } 
     %> 
    </body> 
</html>