避免tomcat状态报告

Mau*_*rry 5 java tomcat tomcat6

我试图从webapp返回401错误代码以触发基本身份验证过程,但tomcat正在劫持响应以显示其状态报告页面.有没有办法阻止tomcat这样做,让错误代码一直到浏览器?

更新我的错误:我忘记了WWW-Authenticate标题

ska*_*man 5

将响应状态设置为401只会告诉浏览器"禁止",并且tomcat将显示错误页面.它本身不会触发身份验证过程.

要触发身份验证,您需要为响应添加另一个标头:

httpResponse.setHeader("WWW-Authenticate", "Basic realm=\"MyApp\"");
Run Code Online (Sandbox Code Playgroud)

其中"MyApp"是您所需的HTTP身份验证领域的名称.添加该标头,浏览器将弹出一个auth对话框并重试该请求.

您应该知道tomcat仍然会将错误页面和标题一起发送,只要响应包含auth标题,浏览器就不会显示它.