2012-11-21 63 views
1

我们已完成使用ASP.NET开发自定义CMS。 CMS将在IIS中设置数百到数千次(每个域一个)。 CMS使用SQL Server来存储页面内容,设置等。SQL Server登录ASP.NET CMS

我们应该为每个网站创建一个新的SQL Server登录(使用SQL身份验证),还是应该为所有网站使用相同的登录名?

对此有何想法,将不胜感激

+0

每个实例是否有单独的数据库? – StingyJack

+0

对不起,我应该提到这一点,是的,每个网站(cms实例)都有自己的数据库(相同的SQL Server实例) – user1843086

回答

0

如果你要设定的单独CMS和DB为每个实例,那么你应该为每个实例创建一个单独的SQL登录的麻烦。

通过这种方式,您可以为设计增加一层安全性(并且会产生更多的已经非常糟糕的维护成本)。

+0

感谢您的想法,我们几年前开发了一个CMS,并且每次安装都有登录,精细。我认为使用共享登录可能会更好。关于维护,这是一个完全自动化的过程,所以没有真正的关注。 – user1843086

0

让每个站点拥有自己的登录似乎更安全。

这样你就不会无意中看到错误的内容数据库(或恶作剧)。

我会建议在SQL中使用Windows身份验证。它更容易设置,并且不需要在web.config文件中存储密码。

为安全起见,您可以进一步限制此用户帐户。

也不要让这些用户帐户使用相同的密码,尖叫不安全。

+0

感谢,关于使用Windows身份验证的有趣想法,我们过去曾在每个站点使用不同的SQL登录名和密码。是否有API来设置每个站点的Windows帐户? (我们目前在安装过程中使用Microsoft.SqlServer.Management。 – user1843086

+0

@ user1843086执行此操作:我确定有可用于自动化用户帐户和权限的工具,我建议使用'PowerShell'或'MSBuild'和出色的'MSBuild扩展包',您可以使用扩展包来设置IIS(网站,应用程序池,应用程序)。 –