如何访问node.js中的共享网络驱动器

时间:2012-11-04 08:17:10

标签: node.js iis

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

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

任何线索?

我知道IIS有节点,但是有没有IIS的另一种方法。

更新

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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