我对Tomcat很新,所以请善待。
我的目标是从URL中检索基本html身份验证的用户名,例如:
http://username:password@example.com/index.jsp
(我想要用户名值)
我意识到这将被编码为授权标头,因此只需获取编码的user:pass
即可。
当我尝试将基本身份验证信息发送到我的 JSP 页面时,它会回读标题,但没有授权标题(request.getHeader("authorization")
)
我还没有在 tomcat 中启用基本身份验证,因为我只是想先检索编码值。但我认为即使我实际上没有使用基本身份验证,标题应该仍然存在。
我该怎么做?如何让request.getHeader("authorization");
在 tomcat 中工作?
我对Tomcat很新,我认为我忽略了某个地方的设置。
答案 0 :(得分:1)
检查网址编码的凭据here。 正如@misterben在回答中提到的那样
浏览器请求http://example.com/index.html,忽略了 第一个请求的凭据。服务器给出401响应 声明需要基本身份验证。
因此,从服务器端查看,您的JSP页面将不会在浏览器的第一个请求中接收授权凭据。您的服务器必须发送401响应。
response.sendError(401);
一旦启用基本身份验证,它应该可以正常工作。