为什么我的网站在configuration传递身份validation时使用IUSR帐户?

我有一个IIS7网站设置为在自己的应用程序池中运行。 应用程序池configuration为:

Managed Pipeline Mode: Integrated
Identity: I_siteuser (帐户是IIS_IUSRS的成员)

网站的物理path为: d:\websites\testsite\www ,帐号I_siteuser对该文件夹具有修改权限。

如果我设置网站使用传递身份validation,我得到一个安全错误:

HTTP Error 401.3 - Unauthorized

如果我将网站configuration为使用特定用户( I_siteuser ),则可以查看页面并运行脚本。

我的印象是,如果使用传递身份validation,那么应用程序池的身份将被使用(在这种情况下,configuration为以I_siteuser的身份运行)。

这似乎并非如此,该网站运行的身份实际上是内置的帐户IUSR 。 我通过为IUSR的网站文件夹添加读取/执行权限来validation这一点。

我在这里错过了另一个设置吗?

更新:

我也在网站上启用了Basic AuthenticationWindows Authentication ,但这只是导致login对话框出现。

我还会看到在任务pipe理器中以I_siteuser标识运行的应用程序池的工作进程。

我认为你是误解通过身份validation。 如果启用身份validation,则会发生以下两种情况之一:

  • 对于匿名身份validation,为匿名访问指定的用户标识需要访问文件的物理path。 (默认情况下,这是内置的IUSR帐户,但可以在匿名身份validation的编辑操作中进行configuration)

  • 如果启用了身份validation,则通过身份validation的用户凭据需要访问文件的物理path。 应用程序池标识还需要对文件进行只读访问。

检查站点的身份validation方法并确保启用基本和/或lanman身份validation。

JR

目录中的任何文件是否包含访问受限的其他目录中的文件? 另外,请尝试授予对组IIS_IUSRS的读访问权限,而不仅限于您的I_sitename用户。 显然要确保在站点(或虚拟目录)身份validation设置中启用了匿名访问。