2012-05-15 67 views
0

是否有任何理由为什么我不应该使用自定义成员资格提供程序向用户数据库添加联系人和扩展数据?ASP.NET会员数据库与成员资格和用户数据库

为用户数据和成员资格数据保留单独的一对一表有什么好处?据我所知,常用的方法是保留单独的表格。我认为最好有一个表让用户保持简单的SQL语句并自定义代码成员资格提供程序。

回答

1

优点是关注点分离。通过将它们保存在单独的表中,您可能会将成员资格数据存储区换出或单独修改。但是,在对“灵活性”过于兴奋之前,请考虑应用程序的实际使用寿命。权衡未来需要改变事情的可能性与实施定制提供商的前期成本。

当我实现了自定义的成员资格提供程序时,更多的时候我并没有发现自己在某个时候实际上希望自己实现了一个完全自定义的认证机制。一旦你实现了提供者接口,通过“插入”提供者基础设施的其余部分,你不一定会获得大量收益。对于简单的应用程序,我通常会推荐做最简单,最简单的工作。如果您还没有构建许多认证系统,您可能会发现实施定制提供商教育的过程。

2

成员背后的想法是它提供即插即用的通用会员解决方案。假设你想从Sql切换到ActiveDirctory,你只需要更改成员资格提供程序,一切正常。

只要您创建自定义提供程序,您可以做任何你想做的事情。但是,为了将额外的数据存入成员资格表,您必须在成员资格界面之外这样做(因为API不包含用于它们的字段)。这意味着,你基本上扔掉了Membership API。

我的建议是要么a)按照预期的方式使用会员资格,要么b)完全去做自己的事情。不要试图将会员资格变成不适合的东西。

但是,编写你自己的文件涉及到的内容要比你想象的要多得多,至少如果你想保证安全并覆盖所有的基础。

相关问题