【发布时间】:2017-12-12 21:58:05
【问题描述】:
我有一个 azure 中的网络应用程序。
我的解决方案如下:
- MyApp.Web
- MyApp.WebjobTasks
- MyApp.WebjobAnotherTask
网络作业是网络应用程序的一部分。它们都共享相同的数据层以通过实体框架和 Azure 门户访问数据,当定义应用设置时,应用设置在所有项目 Web 应用和 Web 作业配置文件中被覆盖。
所有项目都有一个连接字符串键作为“DefaultConnection”,用于同一个数据库。
但我想更改 webjobs 的用户(有更多权限做家务)。所以 Webjob 应该能够 ALTER/Truncate 表,而 MyApp.Web 应该只有 db_datareader 和 _db_datawriter 角色。
我怎样才能多样化呢?如果我将 Azure 门户中的连接字符串键更改为使用有权更改数据库的用户,那么这不是一个好的解决方案,即面向公众的应用程序将获得不必要的权限。
如果每个应用程序都应该在 Azure 门户中拥有自己的应用程序设置页面,那就太糟糕了。这样每个应用程序就可以运行不同的用户权限。
有没有更好的方法来实现这一点?或者我应该在 webjobs 的 app.config 中添加新的用户和密码密钥,并在运行家政工作之前读取这些密钥以更新连接字符串?
【问题讨论】:
标签: c# azure azure-webjobs azure-web-app-service azure-application-settings