表单验证ASP.net MVC 3最佳实践

时间:2012-01-17 02:46:00

标签: asp.net asp.net-mvc

我有一个关于在ASP.net MVC中使用表单身份验证的问题。

我针对我的MVC 3应用程序正在使用的SQL 2008服务器数据库运行aspnet_regsql。这在我的服务器中创建了一个新数据库。我现在可以登录并保护我的控制器。

我的问题是:我应该更改应用程序存储数据的数据库吗?或者我应该使用两个数据库,一个用于安全性,另一个用于我的应用程序?

感谢您的任何建议。

1 个答案:

答案 0 :(得分:4)

你可以这样做。您可以将安全性和应用程序数据组合到一个数据库中,也可以将它们保存为两个单独的数据库。您选择哪个取决于个人偏好和应用程序数据库的复杂性。您可能希望将它们分开,以便将表的功能分隔为单独的数据库。另一方面,这将使您的数据库维护变得更复杂,因为现在您将需要备份两个数据库,并且在发生灾难时,还原两个数据库而不是一个。

编辑: 正如您在评论中指出的那样,如果将这些数据库拆分为两个数据库并且希望从应用程序数据库到身份验证数据库具有外键引用,则可能会出现问题。 Sql Server不支持跨数据库外键引用。如果这对您来说是一个交易破坏者,您可以1)将两个数据库合并到一个数据库中,或者2)查看一些解决方法以避免对跨数据库外键引用的缺乏支持。如果您选择第二条路线,那么您可能希望从这个问题开始就有一个很好的stackoverflow post