我有一个 winforms,它连接着网络服务。
Webservice有创建文件夹的方法
Directory.Create(path);
Webservice是在公司服务器上的,这个文件夹必须是我在外公司的另一张光盘上创建的。
当我调用此方法时,出现异常 "Access denied to path..."
当 webservice 在我的电脑上运行时一切正常。
我可以完全访问此网络磁盘。
但是如何设置对我公司服务器的完全访问权限??
当我检查这个方法时:
[WebMethod]
public string GetNameOfUser()
{
return WindowsIdentity.GetCurrent().Name;
}
我得到 <string>NT AUTHORITY\NETWORK SERVICE</string>
没有目录指令的其他 webmethods 工作正常
编辑结构
计算机 A 在域中并且正在运行 win 窗体
服务器A:有正在运行的网络服务
网盘:有winforms应用重要文件的文件夹
是的,我们有一个域。计算机A可以访问网络磁盘。
最佳答案
据我所知,您的应用程序试图创建一个文件夹,该文件夹与 Web 应用程序位于不同的服务器上。
您的 Web 应用程序正在本地帐户 NT AUTHORITY\NETWORK SERVICE
下运行。为了访问网络共享,您需要它在两台机器上可用的帐户下运行,例如域帐户。
如果 Web 服务器和具有网络共享的服务器都在一个域中,您可以:
- 创建域帐户
- 授予帐户对要在其中创建新文件夹的父文件夹的写入权限
- 使您的 Web 服务器上的应用程序池在域帐户下运行
这将使您的 Web 应用程序在另一台服务器上创建文件夹。
关于c# - Web 服务拒绝访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440010/