除非将代码文件共享给最终用户,否则IIS 7.5 Windows身份验证将失败

时间:2013-04-30 06:27:00

标签: iis windows-authentication

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

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

我在IIS中应用了以下设置...

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

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

  3. 在Windows身份验证下将“NTLM”移至“提供者”的顶部。

  4. 在CGI

  5. 中将模拟用户设置为False
  6. 将“IIS AppPool \ DefaultAppPool”添加到应用程序目录的“安全性”属性中。

  7. 我很困惑为什么带有Windows身份验证的IIS 7.5 Web应用程序需要最终用户或“Everyone”才能拥有对代码文件的读取权限。

    请建议您的观点以解决此问题,并帮助我运行此应用程序,而不与最终用户共享文件夹。

    提前致谢,

    阿肖克

1 个答案:

答案 0 :(得分:1)

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