HTTP基本用户身份验证:不接受“授权”标头(区分大小写)

时间:2018-11-21 07:15:42

标签: java http basic-authentication tomcat6

我正在使用HTTP Header Basic身份验证将用户名和密码发送到服务器:

代码:

public ActionResult Callback(string code, string hmac, string shop, string state, string timestamp)
{
    //this resolved the issue
    AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
    Session["Workaround"] = 0;

    return new ChallengeResult("Shopify", Url.Action("ExternalLoginCallback", "Account", new { ReturnUrl = "/Product/Products" }), null, shop.Replace(".myshopify.com", ""));
}

我正在使用Tomcat 6作为服务器。

在catalina.log文件中,我可以看到以下内容:

  

header = authorization =基本U2hyZXlhczpwYXNzd29yZA ==

我期望“授权”为“授权”,即授权中的大写字母“ A”。

我检查了许多现有的帖子,但找不到答案。

请问如何达到上述效果?

预先感谢

1 个答案:

答案 0 :(得分:2)

HTTP Headers字段名称(作为授权)不区分大小写

  

从RFC 2616-“超文本传输​​协议-HTTP / 1.1”,第4.2节“消息头”:

     

每个标题字段由一个名称,一个冒号(“:”)和字段值组成。 字段名称不区分大小写

所以大小写无关紧要

编辑添加新的HTTP/1.1 document 供参考