c# - Web 服务拒绝访问

标签 c# permissions web-services

我有一个 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 服务器和具有网络共享的服务器都在一个域中,您可以:

  1. 创建域帐户
  2. 授予帐户对要在其中创建新文件夹的父文件夹的写入权限
  3. 使您的 Web 服务器上的应用程序池在域帐户下运行

这将使您的 Web 应用程序在另一台服务器上创建文件夹。

关于c# - Web 服务拒绝访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2440010/

相关文章:

c# - 后台 worker C# winform

web-services - 为什么 Web 服务安全需要单独的标准?

c# - 在 Windows 窗体应用程序中覆盖两个面板

javascript - 从 aspx 调用 Javascript 函数

javascript - 使用 MVC 和 Javascript 验证动态添加的字段并将其保存到数据库

c# - 文件权限不继承目录权限

python - 尝试 PIP 卸载软件包以升级它时,DESCRIPTION.rst 文件的权限被拒绝

permissions - 使用 boost::filesystem/std::filesystem 检查有效权限

c# - 为网络服务动态构建数组

java - Javax.jws 和 javax.xml.ws 有什么区别