IIS 中文件 Table (SQL Server 2016) FILESTREAM 权限丢失

File Table (SQL Server 2016) FILESTREAM permissions lost in IIS

我正在尝试将图像存储在可从网站访问的 FileTable 中。 据我了解,FileTable需要"SELECT"授权给网站运行的帐号运行ApplicationPool。

我的示例:

如果我查看 IIS 身份验证,IIS 错误提示访问权限不足 web.config - 但没有 web.config.

在服务器上,运行 Internet Explorer 将图像引用为 \127.0.0.1\DEV\FileStream_FileTable\<...>\Image1.jpg 它解析为 jpg。

在服务器上,运行 Internet Explorer,将图像引用为 HTTP://127.0.0.1/SiteA/Image/Image1.jpg,IE 错误(与身份验证错误相同的错误)...

Config Error
Cannot read configuration file due to insufficient permissions

Config File
\?\UNC7.0.0.1\dev\ItemImage\web.config

没有配置文件。

我尝试在访问目标为 \127.0.0.1\DEV\Filestream_FileTable 的虚拟文件夹 "Images" 时指定 Windows 用户 (Domain\Bob) 上下文 也没有指定 windows 凭据...

我不明白为什么图像在 Internet Explorer 中使用 UNC 路径可见(它必须验证我的上下文在 filestream_filetable table 上具有 select)但不是使用上下文指定用户的 Windows 上下文,该用户在 IIS 中的 table 上也有 select。

注意:作为实验,我在 IIS 中将用于访问共享的用户修改为管理员。然后 IIS 站点解析图像。

(虚拟目录指向 \\servername\sql_instance_filestream_handle\directory\tablename)

Windows 用户 Domain\Bob 对数据库拥有完全权限 - 数据库所有者。

还有另一个用户的问题,Access to SQL Server FileTable from IIS,如果 IIS 和 SQL 服务器在同一主机上,文件共享中的服务器名是一个潜在的问题,我已经考虑到了这一点。

我已将 Domain\Bob 添加到 IIS_ISURS 群组...

什么是 Domain\Bob 不是该授予访问权限的成员? 我不能很好地使用管理员帐户访问我的所有 IIS 共享!

在某些情况下,如果 UNC 路径只是 return 拒绝访问错误,IIS 将尝试创建 web.config。如果 IIS 创建 web.config 失败,它也将无法使用 500.19.

访问 web.config

因此,请确保您的应用程序池身份设置为具有 read/write 访问文件夹权限的域帐户。

那么请尝试设置匿名身份验证->编辑..->应用程序池标识。

Windows 用户 Domain\Bob 不是 DEV sql 实例中的登录。 创建一个 sql 登录解决了它。 脸红

数据库级别有用户,是的,但是 SQL 服务器没有登录。

捂脸