【发布时间】:2011-04-07 15:25:33
【问题描述】:
我正在努力适应 II7,我已经使用 IIS6 有一段时间了。
在 IIS 6 中,我会在 web.config 中设置 <identity impersonate="true"/>,并确保如果文件夹需要的权限超过读取权限,我将正确的 NTFS 权限应用于 IUSR_[MACHINENAME] 帐户。
在 IIS 7 中,我无法在没有应用太多权限的情况下复制此设置。
如果我在 IIS 7 中使用 <identity impersonate="true"/>,Environment.Username 会告诉我我确实在模拟 IUSR 帐户,这是新的等效帐户。但是,如果我使用表单身份验证登录网站的管理部分,它的模拟与我预期的不同。
在应用程序池中设置 NetworkService:
- 未登录:IUSR,未冒充:[MACHINENAME]$
- 已登录:[MACHINENAME]$,未冒充:[MACHINENAME]$
在应用程序池中设置 LocalService:
- 未登录:IUSR,未冒充:LOCAL SERVICE
- 已登录:LOCAL SERVICE,未模拟:LOCAL SERVICE
如果我给 IIS_IUSRS 帐户 NTFS 权限,我可以让事情正常工作,但这似乎很奇怪。我怎样才能始终冒充 IUSR 帐户?或者,我是否应该将 NTFS 权限授予 IIS_IUSRS?
我希望能很好地解释 IIS7 中的这一变化 - 我已经四处搜索,但找不到关于表单身份验证这种用法的解释。
【问题讨论】:
-
嗨@ScottE 你解决了这个问题?
标签: .net iis-7 impersonation