最佳实践ASP.NET成员资格:同一数据存储区中的用户表?

时间:2009-02-16 13:51:03

标签: asp.net database security asp.net-membership

使用ASP.NET Membership Security模型的表扩展业务数据库是否更好。或者我应该有一个不同的数据存储区,我只管理身份和角色...基本上是1或2个数据库?

3 个答案:

答案 0 :(得分:3)

这可能取决于规模。如果它是一个企业解决方案,不同的应用程序共享一个会员资源,答案很简单 - 将它们分开。可能还有性能原因导致您希望将此数据与应用程序的其余部分分开。可以说这些表不属于数据仓库。

2数据库解决方案唯一没有给你的是参照完整性。如果扩展成员资格表以保存有关用户的更多应用程序特定详细信息,并且这些表需要链接到主数据库,那么您可能希望将它们保持在一起。否则你需要某种复制工作来为你维护。

答案 1 :(得分:2)

这是非常主观的,但除非这些用户要使用多个数据库,否则我会说将它们保存在同一个数据库中。

如果在多个数据库中使用这些用户和角色,我只会为用户和角色使用单独的数据库。

所以不,我永远不会使用两个。然而,我可能会使用三个。

答案 2 :(得分:0)

您使用的是哪个数据库平台?如果支持数据库中的模式,例如在SQL Server 2008中,您可以将您的成员资格表放入他们自己的架构中,以获得整洁。如果需要,您还可以添加跨架构外键。