【发布时间】:2015-04-10 18:47:37
【问题描述】:
我正在尝试将文件写入共享文件夹上的特定位置。 只有少数人可以访问此共享文件夹。但在代码中,我想获取 Windows 凭据或提供特定的用户名和密码。 但是,当我尝试时,它总是显示访问被拒绝。 我想传递某些凭据或 Windows 网络登录凭据。我怎样才能做到这一点?
string destFilename = @"\\test.net\excel\docs\test.xls";
System.Net.WebClient client = new System.Net.WebClient();
WebDownload w = new WebDownload(3600000);
UTF8Encoding objUTF8 = new UTF8Encoding();
byte[] data = w.DownloadData();
WebRequest request = WebRequest.Create(destFilename);
File.WriteAllBytes(destFilename, data); //ACCESS DENIED
编辑
这是一个控制台应用程序
【问题讨论】:
-
ASP.NET 不会以登录用户的身份运行。您需要设置 IIS 以将其作为具有访问权限的特定帐户运行,或者可能授予运行 asp.net 的用户在文件夹的许可下(see here)
-
这并不总是正确的。如果 Web 服务器位于公司域中并且网站设置为使用集成 Windows 身份验证,则网页会作为调用用户运行。不是说是这样,但OP没有具体说明。
-
我不肯定你的意思,但我还是很菜鸟,所以我相信你的话:)
-
如果它是一个控制台应用程序你应该删除 asp.net 标签
-
我认为控制台应用程序将以登录用户的权限运行。不过不确定。
标签: c# file file-io console-application file-permissions