如何访问node.js中的共享networking驱动器
在IIS中,我有一个Web服务,它运行在具有访问远程计算机上驱动器的用户身份的应用程序池下。 这样,当Web服务运行并尝试访问远程机器来读取文件时,我们不会得到任何无效的授权错误。
我现在写了我的第一个Node.js应用程序,但我不知道如何允许从应用程序访问到远程机器的文件stream。 我有我想要读取的远程计算机文件的uncpath名称,但我不知道是否必须传递用户的凭据来访问该文件,或者我必须在某些凭据下运行Node.js应用程序。
任何线索?
我知道有IIS的节点,但是有没有IIS做到这一点的另一种方式。
更新:
只需在我的用户帐户下运行我的应用程序,并将此帐户configuration为允许访问远程计算机,并且可以访问远程计算机而不更改我的代码(换句话说就是直接使用Uncpath)。 但是,如何使用其他用户的凭据来执行此操作(例如,在Node.js中模拟?)
Node不像.NET应用程序那样处理模拟,因为NodeJS不是Windows特定的,所以它不知道处理权限和高程的窗口方式。
但这不是问题。 我在大型金融networking上使用了以下技术。
正如您自己指出的,最好的解决scheme是为您的nodeJS应用程序提供一个专用的用户帐户,并拥有足够权限访问UNC,但没有其他权限。 然后,当您运行应用程序时,以该用户身份运行它。
让我build议您设置一个服务来运行nodejs应用程序,并在服务中指定用户帐户。 这使得它更容易,更安全。 如果您的应用程序遭到黑客攻击,黑客将无法逃避帐户的限制。
- IIS,Node.js和Web应用程序与IISNode没有configuration正确的虚拟目录
- 基于Node.js + Express的应用程序不能与iisnode一起运行
- 将iisnode中的Node.js环境variables(NODE_ENV)设置为Production / Development / Test
- “应用程序已经抛出一个未捕获的exception,并终止:错误:听EACCES 0.0.0.0:80”
- iisnode 500.21处理程序“iisnode”在其模块列表中有一个错误的模块“iisnode”
- Webpack开发服务器到Node / IIS
- 将TLS / SSL安全POST请求从node.js发送到IIS
- 最小的azure node.jsconfiguration服务.js文件作为纯文本,而不是处理它们
- 平均堆栈安装在端口80或iis下