基本身份验证用户名中的特殊字符不适用于Chrome,但适用于IE和Firefox

时间:2017-04-27 03:01:17

标签: google-chrome authentication firefox google-chrome-devtools basic-authentication

我有一个配置了基本身份验证和LDAP的Web服务器。通常,我可以使用包含所有3个浏览器的英文字母的用户名登录。但是,如果用户名包含特殊字符(例如RÈMWÉB等德语名称),则Web服务器返回401并再次弹出身份验证,即apache无法验证。

检查apache access.log后,我可以告诉我,当我从firefox和chrome登录时,编码似乎有所不同。这种编码是由浏览器还是由Web服务器决定的?我认为这是浏览器因为firefox工作正常。我在哪里可以在chrome中设置这种编码方案?

另外,为了确认它是一个浏览器,我可以看到发送的授权标题对于Firefox和Chrome中的同一用户是不同的。显然,浏览器不使用相同的方案对标头进行编码。有什么建议吗?

更多调试告诉firefox(以及IE)使用ISO8859-1进行编码,chrome使用UTF-8。

即使Apache Web服务器尝试多次使用(如果ISO8859-1返回401,它应该再次使用UTF-8),我也会好的。浏览器或Web服务器解决方案应该没问题。

1 个答案:

答案 0 :(得分:1)

尝试更改登录页面上的字符集以使用ISO8859-1

<meta charset="ISO8859-1" />