我有一个设置为在其自己的应用程序池中运行的 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
我还看到应用程序池的工作进程以任务管理器的身份运行。
我认为您误解了通过身份验证。如果启用了通过身份验证,则会发生以下两种情况之一:
对于匿名身份验证,为匿名访问指定的用户 ID 需要访问文件的物理路径。(默认情况下,这是内置的 IUSR 帐户,但可以在匿名身份验证的编辑操作中配置)
如果您启用了身份验证,则经过身份验证的用户凭据需要访问文件的物理路径。应用程序池标识还需要对文件进行只读访问。
检查站点的身份验证方法并确保启用了基本和/或 lanman 身份验证。
JR
目录中的任何文件是否包括访问受限的其他目录中的文件?还尝试授予对组 IIS_IUSRS 的读取访问权限,而不仅仅是您的 I_sitename 用户。显然,请确保在站点(或虚拟目录)身份验证设置中启用匿名访问。