【发布时间】:2009-12-30 18:09:27
【问题描述】:
当用户浏览 ASP.NET 网站时,用户是冒充ASPNET帐户还是在IIS->目录安全->用于匿名访问的帐户中指定的帐户(例如:IUSR_XXX)
我的网站将文件写入磁盘,我想知道这些帐户中的哪些需要对该文件夹的写入权限?另外,有人能解释一下 web.config 中的 impersonate 元素是如何与这一切联系在一起的吗?
谢谢!
【问题讨论】:
标签: .net asp.net impersonation
当用户浏览 ASP.NET 网站时,用户是冒充ASPNET帐户还是在IIS->目录安全->用于匿名访问的帐户中指定的帐户(例如:IUSR_XXX)
我的网站将文件写入磁盘,我想知道这些帐户中的哪些需要对该文件夹的写入权限?另外,有人能解释一下 web.config 中的 impersonate 元素是如何与这一切联系在一起的吗?
谢谢!
【问题讨论】:
标签: .net asp.net impersonation
如果在 ASP.NET 应用程序中启用了模拟,则:
- 如果在 IIS 中启用匿名访问,则使用 IUSR_machinename 帐户发出请求。
- 如果在 IIS 中禁用匿名访问,则使用经过身份验证的用户的帐户发出请求。
- 在任何一种情况下,都会在 Windows 访问控制列表 (ACL) 中为用户请求的资源检查帐户的权限,并且资源仅在其运行的帐户对其有效时才可用资源。
如果在 ASP.NET 应用程序中禁用模拟,则:
- 如果在 IIS 中启用匿名访问,则使用系统级进程帐户发出请求。
- 如果在 IIS 中禁用匿名访问,则使用经过身份验证的用户的帐户发出请求。
- 在任何一种情况下,都会在 Windows ACL 中为用户请求的资源检查帐户的权限,并且资源仅在它们是帐户时才可用
running under 对该资源有效。
【讨论】:
默认为 identity is MachineName\ASPNET,您可以通过在 web.config 中打开身份模拟来更改此行为
【讨论】: