gpt4 book ai didi

apache - 经典 ASP 启用 Windows 身份验证但 Request.ServerVariables (“LOGON_USER” ) 有时会返回错误的用户名

转载 作者:行者123 更新时间:2023-12-02 04:47:34 29 4
gpt4 key购买 nike

我在 IIS 7 中部署了一个经典的 ASP。启用了 Windows 身份验证并禁用了所有其他身份验证。因此该页面不需要任何登录,服务器能够确定 NTADMIN 用户名。

我们对 Apache 进行了重写,以便可以使用别名访问该页面,例如 https://www-site/app/page.asp而不是像 https://ntp123:8090/app/page.asp 那样访问它;重写是这样的:

RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/app https://%{HTTP_HOST} %{REQUEST_URI} [R,L]
ProxyPass /app http://ntp123:8090/app/
ProxyPassReverse /app http://ntp123:8090/app/

大多数时候,也许 99% 的时间代码返回正确的“NTADMIN\user”:

LoginName = Request.ServerVariables("Logon_User")

但是,在某些情况下,代码会获取错误的 NTADMIN 用户名。我试图通过谷歌寻找任何类似的问题,但大多数都没有显示解决方案。

也许这里的ASP/IIS专家有解决办法?

最佳答案

原来罪魁祸首是 Apache HTTP Rewrite,因为根据 IIS 日志的观察,客户端 IP 地址始终相同,在本例中为 Apache 服务器。看起来它要么有一些缓存问题,要么只是与 IIS 的 Windows 身份验证不兼容。无论哪种方式,通过删除它,问题都不会再遇到。

关于apache - 经典 ASP 启用 Windows 身份验证但 Request.ServerVariables (“LOGON_USER” ) 有时会返回错误的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31580156/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com