6

在 IIS 中,我有一个在应用程序池下运行的 Web 服务,该应用程序池具有可以访问远程计算机上的驱动器的用户身份。这样,当 Web 服务运行并尝试访问远程计算机以读取文件时,我们不会收到任何无效授权错误。

我现在已经编写了我的第一个 Node.js 应用程序,但我不确定如何允许从应用程序访问远程计算机的文件流。我有我想要读取的远程计算机文件的 unc 路径名,但我不确定是否必须传递用户的凭据才能访问该文件,或者我必须在某些凭据下运行 Node.js 应用程序。

有什么线索吗?

我知道 IIS 有节点,但是在没有 IIS 的情况下还有另一种方法。

更新:

只需在我的用户帐户下运行我的应用程序,并且该帐户配置为允许访问远程计算机,并且我可以访问远程计算机而无需更改我的代码(换句话说,只是直接使用 Unc 路径)。但是,如何使用其他用户的凭据(即在 Node.js 中模拟?)

4

1 回答 1

2

Node 不像 .NET 应用程序那样处理模拟,因为 NodeJS 不是 Windows 特定的,所以它不知道 Windows 处理权限和提升的方式。

但这不是问题。我在大型金融网络上使用了以下技术。

正如您自己指出的那样,最好的解决方案是为您的 nodeJS 应用程序拥有一个专用的用户帐户,该帐户具有足够的权限来访问 UNC,但没有其他权限。然后,当您运行应用程序时,以该用户身份运行它。

让我建议您设置一个服务来运行 nodejs 应用程序并在服务中指定用户帐户。这使它更容易和更安全。如果您的应用程序被黑客入侵,黑客将无法逃脱帐户的限制。

于 2013-03-07T20:45:10.167 回答