如何向IIS应用程序授予文件夹权限

时间:2018-02-11 01:01:33

标签: node.js iis networking fs

我正在尝试从IIS提供的REST端点写出一些文件。写入本地驱动器时一切顺利。  但是,写入映射驱动器时,不会创建任何文件。

  

案例1 - 本地 - 工作

outputOrderFilesLocal = (req, res, next) => {
fs.writeFile('./receipts/filename.txt', data, (err) => {
    if (err) throw err
  })
}
  

案例2 - 网络 - 破碎

outputOrderFilesNetwork = (req, res, next) => {
fs.writeFile('Z:/receipts/filename.txt', data, (err) => {
    if (err) throw err
  })
}

我已在Z:驱动器上设置文件夹权限以允许NetworkService,并已将应用程序池标识更改为IIS中的NetworkService

是否可以写入映射驱动器?是否需要设置其他权限或配置才能使其正常工作?

1 个答案:

答案 0 :(得分:1)

Z是在用户帐户级别定义的路径。它映射到特定的网络路径,但只映射到某个用户。运行IIS的帐户可能没有Z的定义。

相反,使用Z是的完整UNC路径:

outputOrderFilesNetwork = (req, res, next) => {
fs.writeFile('\\\\uncservername\\uncserverpath\\receipts\\filename.txt', data, (err) => {
    if (err) throw err
  })
}

您还需要为在UNC路径上运行该进程的帐户配置权限,操作系统级别权限,因为通常IIS帐户不具有这些权限。