3

我正在设置一个简单的经典 ASP 应用程序,以在 Windows 2008 R2 服务器上的 IIS 7.5 中使用 Windows 身份验证读取用户登录信息。(应用程序只是一个文件,并且有这一行 - response.write(Request.ServerVariables("LOGON_USER")) )

但是我无法读取用户的登录信息,除非代码文件(应用程序目录)被授予特定人员或“每个人”的读取和执行权限。如果我删除“所有人”或最终用户的 ID,系统会提示我登录弹出窗口,随后将我带到 401 - 未经授权的错误。

我在 IIS 中应用了以下设置...</p>

  1. 将应用程序池的标识设置为“ApplicationPoolIdentity”

  2. 启用 Windows 身份验证并禁用所有其他身份验证。

  3. 将“NTLM”移到 Windows 身份验证下的提供程序顶部。

  4. 在 CGI 中将模拟用户设置为 False

  5. 在应用程序目录的安全属性中添加了“IIS AppPool\DefaultAppPool”。

我很困惑为什么带有 Windows 身份验证的 IIS 7.5 Web 应用程序需要最终用户或“每个人”才能读取代码文件。

请提出您的意见以解决此问题并帮助我在不与最终用户共享文件夹的情况下运行此应用程序。

提前致谢,

阿肖克

4

1 回答 1

1

我在这里给出了更详细的答案,但简而言之,还有另一组属性,您可以在其中指定 IIS 用于对文件系统进行身份验证的凭据,不再使用应用程序池 ID。寻找Physical Path Credentials&Physical Path Credentials Logon Type

于 2014-01-02T18:31:20.840 回答