ASP.Net无法看到共享文件夹
-
21-08-2019 - |
题
我写我还没有工作过的网络中的新应用,并正在运行一个问题。
如果我有下面的C#代码:
FileStream fs = File.Create(@"\\MyServer\MyShare\testing.txt");
fs.Close();
在一个控制台应用程序,此代码正确执行。
在ASP.Net应用程序时,收到此错误:的登录失败:未知的用户名或密码错误强>
在ASP.Net应用程序,如果我在身份冒充添加=“真”,我得到这个错误:访问路径“\ MyServer的\ MyShare中\ testing.txt”被拒绝
我从未跑进该登录失败消息前;这哪里是哪里来的?如果我在服务器上创建一个应用程序,并把它写入phsyical位置,它工作正常(所以安全性有很好的),它只是好像安全的份额不工作(即使它有“所有人”组到全写),或有东西在哪我不能在一般的查看任何服务器级别的缺失。
有谁知道我在这里失踪?我已经写了做类似的事情,从来没有遇到这样的问题,其他应用程序
谢谢!
解决方案
<强>更新强>
所以我觉得我张贴了这个太早......它是失败在我的本地主机的原因是由于目录被设置为允许匿名访问(所以页面没有被冒充的;用户是“”)<。 / p>
它也开始在服务器上的工作,以及;然而,什么也没有发生变化,因此......我不知道的东西应用程序的停机时间/关机或在什么触发,但一切都按预期工作。
感谢您的意见!
其他提示
问题是与身份冒充设置为false ASP.NET辅助进程帐户试图写入到共享,通常认为是网络服务或ASPNET帐户。根据哪个版本的Windows您正在运行。
设置冒充为true,而无需指定用户名或密码将使用当前用户的认证尝试,并提出请求。
您将需要与相关的政府补助工作进程帐户权限,其中最有可能是不可能的。或B创建你的应用程序可以模拟,然后在指定的身份标签的web.config文件中的凭据特定帐户。
默认情况下,ASP.NET应用程序运行为的 YourMachine 的\ IUSR_ YourMachine。的你要么必须开拓上的权限共享给大家委托人(其中仍可能不工作,如果机器是不是在同一个域),或运行IIS应用程序的人谁有权访问该共享。
您可以更改ASP.NET应用由下运行的用户:
。开的管理工具 - > Internet信息服务,然后右键单击包含应用程序的网站或虚拟目录上点击属性即可。选择目录安全性标签,然后点击修改。最后,在匿名访问部分键入具有访问共享的用户的用户名和密码。
麦克