IIS7 的 UnauthorizedAccessException

Posted

技术标签:

【中文标题】IIS7 的 UnauthorizedAccessException【英文标题】:UnauthorizedAccessException with IIS7 【发布时间】:2010-09-16 07:56:29 【问题描述】:

我正在尝试从 IIS7 下的 ASP.NET 应用程序写入日志文件,但不断收到以下异常:

未授权访问异常 “访问路径 'C:\Users\Brady\Exports' 被拒绝。”

根据 Google 找到的各种建议,我已授予 iis_iusrs、iis_wpg 和 aspnet 用户写入权限,但仍然收到错误消息。有人可以解释我如何在该目录中创建一个日志文件,或者,在 Web 应用程序本身下创建一个日志目录是否会自动允许写入该文件,这不是更好的解决方案吗?

【问题讨论】:

【参考方案1】:

您需要向以下帐户之一授予权限

ASPNET - Win XP and Win 2000
NETWORK SERVICE - Win Vista and 2003

这些是默认值,如果应用程序池已配置为不同的进程帐户,那么您需要使用该特定帐户。

【讨论】:

【参考方案2】:

我认为 Mitchel 明白了,但我要补充一点,使用 SysInternals 的Process Monitor(旧系统为FileMon)排除猜测/反复试验会变得非常容易。

【讨论】:

【参考方案3】:

如果您在 ASP.NET 中模拟其他用户,则该用户帐户必须具有写入该目录的权限。我强烈建议不要将用户的个人文件夹路径设置为存储 Web 应用程序日志或数据的位置。这要求 ASP.NET 工作进程帐户有权访问该用户的私有文件夹(如果它们不是同一个帐户)。

鼓励分配公共区域,例如 D:\webapps\logapp\logfiles。当然,在授予适当权限的情况下。

【讨论】:

以上是关于IIS7 的 UnauthorizedAccessException的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security - 401未经授权的访问

iis7是啥意思

使用“查询”http api 后获取 "code":"unauthorized","message":"unauthorized

IIS7 怎么发布网站

iis7怎么升级

IIS7和IIS7.5解析漏洞