您的位置:首页 > 编程语言 > ASP

ASP.Net的一个文件访问权限错误之解决

2006-07-05 20:15 387 查看
错误描述如下

在windows 2003下安装了VS2003,在运行web应用程序的时候出现一下错误:对路径“C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/....”的访问被拒绝。
 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.UnauthorizedAccessException: 对路径“C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/....”的访问被拒绝。

ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS5 上为 {MACHINE}/ASPNET,在 IIS6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为IUSR_MACHINENAME)或经过身份验证的请求用户。

解决办法

由于在iis 6.0中,默认的应用程序池中的标示用的是Network Service,所以在进程中是使用Network Service这个帐号运行来运行w3wp.exe进程,而当我们在运行VS 2003的时候是需要对C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files/目录下进行读写操作的,所以看了一下该文件夹,发现没有Network Service,添加上该账号,同时选上FULL CONTROL,问题解决,但是至于为什么会产生这个问题我不大清楚,因为在安装WINDOWS 2003的时候,Network Service账号是存在于Temporary ASP.NET Files该文件夹安全列表中的。

顺便提一下,在IIS6.0中的默认应用程序池-->属性-->标示中把Net Service改成Local System该问题也可以解决。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐