Tomcat标头

时间:2017-03-14 08:36:24

标签: java jsp tomcat basic-authentication

我对Tomcat很新,所以请善待。

我的目标是从URL中检索基本html身份验证的用户名,例如:

http://username:password@example.com/index.jsp

(我想要用户名值)

我意识到这将被编码为授权标头,因此只需获取编码的user:pass即可。

当我尝试将基本身份验证信息发送到我的 JSP 页面时,它会回读标题,但没有授权标题(request.getHeader("authorization")

我还没有在 tomcat 中启用基本身份验证,因为我只是想先检索编码值。但我认为即使我实际上没有使用基本身份验证,标题应该仍然存在。

我该怎么做?如何让request.getHeader("authorization"); tomcat 中工作?

我对Tomcat很新,我认为我忽略了某个地方的设置。

1 个答案:

答案 0 :(得分:1)

检查网址编码的凭据here。 正如@misterben在回答中提到的那样

  

浏览器请求http://example.com/index.html,忽略了   第一个请求的凭据。服务器给出401响应   声明需要基本身份验证。

因此,从服务器端查看,您的JSP页面将不会在浏览器的第一个请求中接收授权凭据。您的服务器必须发送401响应。

response.sendError(401);

一旦启用基本身份验证,它应该可以正常工作。