【发布时间】:2017-04-26 18:34:36
【问题描述】:
所以我的部分工作是将文件写入 iSeries IFS,或者这个路径,特别是 \ServerIPAddress\home\test\ 我有一个 ASP.NET Web 应用程序来执行此操作,这是我用来将简单文本文件写入该目录的代码 (C#):
string filename = @"\\SomeIPAdress\home\test\test.txt";
byte[] file = Encoding.ASCII.GetBytes("hello world");
FileStream fs = new FileStream(filename, FileMode.OpenOrCreate);
fs.Write(file, 0, file.Length);
fs.Close();
执行此代码时,程序给我“拒绝访问”错误
异常详细信息:System.UnauthorizedAccessException:对路径“\SomeIPAddress\home\test\test.txt”的访问被拒绝。
ASP.NET 无权访问请求的资源。考虑将资源的访问权限授予 ASP.NET 请求标识...
我可以使用 Windows 文件资源管理器使用 IBM UID 和密码访问此目录 \SomeIPAddress\home\test,我也可以手动创建和编辑文本文件。
我知道这与通过提供该 UID 和密码来授予对我的 ASP.NET 应用程序的访问权限有关,但我不太明白,而且我已经被困了好几天了。
如果您需要任何额外信息,请告诉我。感谢您的帮助
【问题讨论】:
-
运行您站点的应用程序池的用户是什么?检查该用户的访问权限。
-
我相信它是 IIS APPPOOL\DefaultAppPool。如何检查该用户的访问权限?
-
您可能应该为有权访问该资源的应用程序池创建一个专用服务帐户。创建后,您可以使用服务帐户登录以验证权限是否有效,或者直接使用RunAs。
标签: c# asp.net ibm-midrange iseries-navigator