在xp下,程序老报对路径“c:\inetpub\wwwroot\XMLGuest\db\db.xml”的访问被拒绝。

muly 2003-11-25 03:07:20
我的这个文件路径肯定是对的。在xp上文件属性中没有“安全”选项,这个问题怎么办啊?

错误信息如下:

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

若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。

源错误:


行 24: private void Page_Load(object sender, System.EventArgs e)
行 25: {
行 26: FileStream stream = new FileStream(Server.MapPath("db\\db.xml"),FileMode.Open);
行 27: try
行 28: {


源文件: C:\Inetpub\wwwroot\XMLGuest\MessageList.aspx.cs 行: 26

堆栈跟踪:


[UnauthorizedAccessException: 对路径“c:\inetpub\wwwroot\XMLGuest\db\db.xml”的访问被拒绝。]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +393
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy) +888
System.IO.FileStream..ctor(String path, FileMode mode) +52
XMLGuest.MessageList.Page_Load(Object sender, EventArgs e) in C:\Inetpub\wwwroot\XMLGuest\MessageList.aspx.cs:26
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()


...全文
287 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
winsalau 2003-12-03
  • 打赏
  • 举报
回复
如果没了全安的那个选项

在资源管理器里单击“工具”菜单,选择“文件夹选项”,然后单击“查看”选项卡,在“文件和文件夹”列表里,把“使用简单的文件共享”前的勾去掉就可以了
mywisest 2003-12-02
  • 打赏
  • 举报
回复
1、将分区转换成NTFS格式就有安全选项卡了;
2、提升aspnet用户的权限;
3、文件是否为只读文件?
游风风 2003-12-02
  • 打赏
  • 举报
回复
提升ASP.NET帐号的权限

修改C:\WINNT\Microsoft.NET\Framework\v1.0.3705\CONFIG\Machine.config文件ProcessModel段中的UserName, 把Machine改成SYSTEM.
类似于
<processModel enable="true" timeout="Infinite" idleTimeout="Infinite" shutdownTimeout="0:00:05" requestLimit="Infinite" requestQueueLimit="5000" restartQueueLimit="10" memoryLimit="60" webGarden="false" cpuMask="0xffffffff" userName="SYSTEM" password="AutoGenerate" logLevel="Errors" clientConnectedCheck="0:00:05" comAuthenticationLevel="Connect" comImpersonationLevel="Impersonate" responseRestartDeadlockInterval="00:09:00" responseDeadlockInterval="00:03:00" maxWorkerThreads="25" maxIoThreads="25"/>
liuyao928 2003-12-02
  • 打赏
  • 举报
回复
在你要读写文件的文件夹的“安全”处,添加aspnet用户具有写入权限
lkk2073 2003-11-25
  • 打赏
  • 举报
回复
还有一个办法就是将该工程部署在WWWROOT和INTPUT文件夹外面就OK了...
muly 2003-11-25
  • 打赏
  • 举报
回复
我用的是ntfs分区

我加aspnet用户到administrator用户组了还是不行啊

兄弟们,谁还有办法啊
smartcreater 2003-11-25
  • 打赏
  • 举报
回复
如果没有其他权限问题 ,
是不是,该文件共享冲突(没有释放以前操作该文件的FileStream等)!
lkk2073 2003-11-25
  • 打赏
  • 举报
回复
同意:guoyan19811021(吉祥)

将aspnet用户加入administrator用户组
lkk2073 2003-11-25
  • 打赏
  • 举报
回复
NTFS的分区格式下才有安全选项
lysamper 2003-11-25
  • 打赏
  • 举报
回复
我以前也遇见这个问题,好象是文件路径太长了!我用个比较短的路径就没有问题了!
guoyan19811021 2003-11-25
  • 打赏
  • 举报
回复
可以将aspnet用户加入administrator用户组
hivak47 2003-11-25
  • 打赏
  • 举报
回复
我没有碰见过这样的问题,我感觉你用WINDOWS2003比较好。
guoyan19811021 2003-11-25
  • 打赏
  • 举报
回复
授予 ASP.NET 对文件的写访问权
muly 2003-11-25
  • 打赏
  • 举报
回复
给了还是不行
lkk2073 2003-11-25
  • 打赏
  • 举报
回复
在IIS中给予你的这个工程的虚拟路径的读和写权限

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧