如何为 IIS 应用程序授予文件夹权限
How to Grant Folder Permissions to IIS Application
我正在尝试从 IIS 服务的 REST 端点写出一些文件。写入本地驱动器时一切正常。
但是,写入映射驱动器时,不会创建任何文件。
Case 1 - Local - Working
outputOrderFilesLocal = (req, res, next) => {
fs.writeFile('./receipts/filename.txt', data, (err) => {
if (err) throw err
})
}
Case 2 - Network - Broken
outputOrderFilesNetwork = (req, res, next) => {
fs.writeFile('Z:/receipts/filename.txt', data, (err) => {
if (err) throw err
})
}
我已将 Z:
驱动器上的文件夹权限设置为允许 NetworkService
并已将 IIS 中的应用程序池标识更改为 NetworkService
。
是否可以写入映射驱动器?是否需要设置其他权限或配置才能使其正常工作?
Z 是在用户帐户级别定义的路径。它映射到特定的网络路径,但仅限于特定用户。 IIS 的帐户 运行 可能没有 Z 的定义。
而是使用 Z 的完整 UNC 路径:
outputOrderFilesNetwork = (req, res, next) => {
fs.writeFile('\\uncservername\uncserverpath\receipts\filename.txt', data, (err) => {
if (err) throw err
})
}
您还必须为帐户配置权限 运行 UNC 路径上的进程,OS 级权限,因为通常 IIS 帐户没有这些权限。
我正在尝试从 IIS 服务的 REST 端点写出一些文件。写入本地驱动器时一切正常。 但是,写入映射驱动器时,不会创建任何文件。
Case 1 - Local - Working
outputOrderFilesLocal = (req, res, next) => {
fs.writeFile('./receipts/filename.txt', data, (err) => {
if (err) throw err
})
}
Case 2 - Network - Broken
outputOrderFilesNetwork = (req, res, next) => {
fs.writeFile('Z:/receipts/filename.txt', data, (err) => {
if (err) throw err
})
}
我已将 Z:
驱动器上的文件夹权限设置为允许 NetworkService
并已将 IIS 中的应用程序池标识更改为 NetworkService
。
是否可以写入映射驱动器?是否需要设置其他权限或配置才能使其正常工作?
Z 是在用户帐户级别定义的路径。它映射到特定的网络路径,但仅限于特定用户。 IIS 的帐户 运行 可能没有 Z 的定义。
而是使用 Z 的完整 UNC 路径:
outputOrderFilesNetwork = (req, res, next) => {
fs.writeFile('\\uncservername\uncserverpath\receipts\filename.txt', data, (err) => {
if (err) throw err
})
}
您还必须为帐户配置权限 运行 UNC 路径上的进程,OS 级权限,因为通常 IIS 帐户没有这些权限。