我有一个 IIS7 网站,该网站设置为在其自己的应用程序池中运行。应用程序池配置如下:
Managed Pipeline Mode: Integrated
Identity: I_siteuser
(帐户是 IIS_IUSRS 的成员)
该网站物理路径为:d:\websites\testsite\www
并且该账户I_siteuser
对该文件夹有修改权限。
如果我将网站设置为使用传递身份验证我收到一个安全错误:
HTTP Error 401.3 - Unauthorized
如果我将网站配置为使用特定用户(I_siteuser
),我就可以正常查看页面和运行脚本。
我的印象是,如果我使用传递身份验证则将使用应用程序池的标识(在本例中配置为以 的标识运行I_siteuser
)。
事实似乎并非如此,该网站运行的身份实际上是内置帐户IUSR
。我通过为网站文件夹添加读取/执行权限来验证这一点IUSR
。
这里我还遗漏了其他设置吗?
更新:
我也在网站上启用了此功能,Basic Authentication
但这Windows Authentication
只会导致出现登录对话框。
我还看到在任务管理器中以的身份运行的应用程序池的工作进程I_siteuser
。
答案1
我认为您误解了直通身份验证。如果启用了直通身份验证,则会发生以下两种情况之一:
对于匿名身份验证,为匿名访问指定的用户 ID 需要访问文件的物理路径。(默认情况下,这是内置的 IUSR 帐户,但可以在编辑操作中为匿名身份验证进行配置)
如果您启用了身份验证,则经过身份验证的用户凭据需要访问文件的物理路径。应用程序池标识也需要对文件的只读访问权限。
答案2
检查站点的身份验证方法,并确保已启用基本身份验证和/或 Lanman 身份验证。
JR
目录中的任何文件是否包括来自其他目录的文件,而这些目录的访问权限受到限制?还请尝试向组 IIS_IUSRS 授予读取权限,而不仅仅是向 I_sitename 用户授予读取权限。显然,请确保在站点(或虚拟目录)身份验证设置中启用了匿名访问。