我开发了一个具有 sqlite 数据库的 ASP.NET Core Web API,因此在部署到 IIS 时,它需要授予对
iis_usrs
的写访问权限,以便应用程序可以写入数据库。
有什么方法可以让我们不需要在每次部署时授予数据库文件写入权限,因为应用程序将部署在不同的服务器上。
通常,在 IIS 中托管应用程序后,它将使用 IIS 应用程序池身份的权限来访问数据库,而不是 iis_usrs。
如果您使用的是 asp.net core Web api 并使用 EF core 或 sqlconnection 等 API 包,则无需修改 iis_usrs,因为它使用应用程序池身份权限而不是 IIS_Users 来修改 sqllite 数据库。
您应该修改sqllite文件夹的安全文件夹以确保应用程序池标识包含写入权限。
应用程序池标识也包含与 iis_iuser 相同的权限。
此外,由于这是服务器设置,因此我不建议您在部署过程中对其进行管理。您可以在该文件夹中编写脚本,部署后您可以要求服务器管理员运行它以避免安全问题。