Asp.net 我的应用程序使用哪个用户访问文件系统?

Asp.net 我的应用程序使用哪个用户访问文件系统?,asp.net,security,iis,Asp.net,Security,Iis,我有一个应用程序在尝试从文件系统读取时遇到System.UnauthorizedAccessException错误 我查看了应用程序池,发现它正在使用网络服务获取身份。IIS应用程序允许使用现有帐户进行匿名身份验证,我们称之为IUSR-MYSERVER。它还启用了集成的Windows身份验证 如果我转到有问题的文件夹并添加具有读取+执行权限的所有人,错误就会消失。但是,如果添加具有相同权限的IUSR-MYSERVER或网络服务,仍然会出现相同的错误 当我查看事件日志中的错误条目时,它的用户为N/

我有一个应用程序在尝试从文件系统读取时遇到System.UnauthorizedAccessException错误

我查看了应用程序池,发现它正在使用网络服务获取身份。IIS应用程序允许使用现有帐户进行匿名身份验证,我们称之为IUSR-MYSERVER。它还启用了集成的Windows身份验证

如果我转到有问题的文件夹并添加具有读取+执行权限的所有人,错误就会消失。但是,如果添加具有相同权限的IUSR-MYSERVER或网络服务,仍然会出现相同的错误

当我查看事件日志中的错误条目时,它的用户为N/A


我的应用程序试图以哪个用户的身份访问文件系统?我想只利用每个人是不好的

如果web应用程序使用模拟,则当前登录的用户或匿名用户的IUSR将访问该文件-使用集成的Windows身份验证,IE将导致单点登录,因此打开浏览器的用户将访问该文件

如果未使用模拟,则使用应用程序池标识

要确定当前登录的用户代码,请使用System.Threading.Thread.CurrentPrincipal.Identity.Name-但请注意,这并不表示访问该文件的帐户


要确定代码执行时使用的实际标识,请使用System.Security.Principal.WindowsIdentity.GetCurrent.Name.

您使用的是哪个版本的IIS?要使用IUSR,请在我的web.config中添加此行:@EmeraldCoder,有没有办法让我知道它当前运行的用户是谁?如果你只想知道运行的用户是谁,你可以看看这篇文章: