Orchardcms Orchard SQL Server数据库用户

Orchardcms Orchard SQL Server数据库用户,orchardcms,Orchardcms,数据库用户的最低要求是什么?我看到的所有教程都使用sa帐户。出于安全考虑,我宁愿不使用此帐户 我已经在本地部署了1.10.2分支的dev版本,并对它们应用了dbowner角色,但我不想在生产中这样做 这实际上取决于您希望应用程序用户(包括站点管理员)能够做什么。Orchard中最有特权的用户需要能够创建和更改表(当他们创建新的内容类型、安装模块、运行迁移等时),这几乎需要dbowner。还要记住,将作为特定db用户连接到数据库的是应用程序。不同的应用程序用户(甚至角色)不会有不同的db用户 但是

数据库用户的最低要求是什么?我看到的所有教程都使用
sa
帐户。出于安全考虑,我宁愿不使用此帐户


我已经在本地部署了1.10.2分支的dev版本,并对它们应用了
dbowner
角色,但我不想在生产中这样做

这实际上取决于您希望应用程序用户(包括站点管理员)能够做什么。Orchard中最有特权的用户需要能够创建和更改表(当他们创建新的内容类型、安装模块、运行迁移等时),这几乎需要
dbowner
。还要记住,将作为特定db用户连接到数据库的是应用程序。不同的应用程序用户(甚至角色)不会有不同的db用户

但是,完全有理由设置这样一个流程,即应用程序最危险的功能在生产中的数据库级别被禁止,并且只允许在暂存中使用,中间有一个数据库部署机制。从dba的角度来看,这尤其有意义

然而,对于大多数网站来说,这比看起来更为棘手,因为生产数据库很少是只读业务(因为评论、用户创建的内容等)。这意味着这个部署过程需要比将staging DB推入prod更加微妙。这甚至没有提到在最小化停机时间的同时执行此操作所涉及的复杂性

我看到的另一个解决方案是设置两个指向同一数据库的Orchard实例,并使用两个具有不同权限的不同DB用户。public one拥有有限的权限,甚至没有部署一些管理模块,并且管理实例位于防火墙后面,拥有所有权限和功能。然而,这是一个非常不寻常的设置,您必须权衡风险和实用性(毕竟,使用CMS的主要好处是使管理员能够轻松更改网站内容,因此任何与之相反的内容都会降低好处)


大多数Orchard网站更喜欢使用
dbowner
设置,该设置假设如果应用程序被破坏,数据库也被破坏不一定会更糟。

非常感谢您的详细回答,我认为出于您所说的原因,使用
dbowner
作为Orchard用户进行部署似乎更容易。我们的计划是生产2个果园,1个。作为沙盒,允许内容创建者创建内容,然后将批准的版本推送到显示版本。这将包括创建内容类型以及其他内容类型。