ASP.NET IIS System.UnauthorizedAccessException: 对路径“C:\......xls”的访问被拒绝。

问题:

System.UnauthorizedAccessException: 对路径“C:\.....xls”的访问被拒绝。

背景:

项目中用到Excel导出功能,用的是Excel模板的方式来做,意思每次,Excel会去读取这个位置下的模板Excel文件,这个问题不是经常出现,而是

偶尔出现,今天大家都在用的时候就都出现了,我以为是同时访问的原因导致,但细想了一下,不应该啊,是读取权限而以,于是还是先baidu再园子,还是在园子中找到了答案

我用的是第二个处理办法。记录一下,加深印象。觉得好多问题都在园子中能找到,这是我15年做的最正确的一件事(加入园子)

 

注意:第一个标识我设置的是 LocalService 结果也是可以的,我用的是 二 方法.

解决方法:

一、在IIS中的默认应用程序池-->高级设置...-->标识改成Local System可以解决该问题。

二、在需要进行读写操作的目录下添加Network Service这个帐号。
  具体过程:对该文件夹按右键--属性--安全--添加--高级--立即查找--在“搜索结果”下选“NETWORK SERVICE”--确定--确定--确定 

三、在网上查询了很多信息,有下列几种解决方案: 

1.可能是安装出了问题,重新安装 执行命令,aspnet_regiis -i ,记得要生启啊 
2.提升everyone的权限到可修改 
3.提升aspnet权限:控制面板-管理工具-计算机管理-本地用户和组 找到ASPNET 隶属于里面加上Administrators 
4.将iis虚拟目录删掉后重新建 
5.在web.config文件中加入<identity impersonate="true"/> 
6. 若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。 

everyone加写入权限 
7.用xml文件保存系统选项设置,用asp.net写入,调试运行(ctrl+F5)正常。站点配置后运行报错:“对路径xxx.xml的访问被拒绝”。资源管理器->工具->文件夹选项->查看 不选"使用简单文件共享",右击xml文件,选"属性"点"安全"添加"aspnet",选"完全控制",即可。

posted @ 2016-01-21 10:50  三瑞  阅读(8164)  评论(2编辑  收藏  举报