0

有什么理由我不应该使用自定义会员提供程序将联系人和扩展数据添加到用户数据库中?

为用户数据和会员数据保留单独的一对一表格有什么好处?据我了解,常见的方法是保留单独的表格。我认为最好为用户提供一张表,以保持 SQL 语句的简单性和成员资格提供程序的自定义代码。

4

2 回答 2

2

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

只要您正在创建自定义提供程序,您就可以做任何您想做的事情。但是,为了将您的额外数据放入会员表中,您必须在会员界面之外执行此操作(因为 API 不包含它们的字段)。这意味着,您实际上是在丢弃 Membership API。

我的建议是要么 a) 使用会员资格,要么 b) 完全做你自己的事情。不要试图将会员资格硬塞到它不打算用于的东西中。

但是,编写自己的代码比您最初想象的要复杂得多,至少如果您想确保安全并涵盖所有基础。

于 2012-05-15T03:55:03.853 回答
1

优点是关注点分离。通过将它们保存在单独的表中,您会处于可以单独换出或修改成员数据存储的情况。但是,在对“灵活性”过于兴奋之前,请考虑一下应用程序的实际生命周期。权衡未来需要更改的可能性与实施自定义提供程序的前期成本。

当我实现了自定义成员资格提供程序时,更多时候我发现自己实际上希望我刚刚推出了一个完全自定义的身份验证机制。一旦你实现了提供者接口,你不一定会通过“插入”提供者基础设施的其余部分来获得很多。对于简单的应用程序,我通常只建议做最简单、最简单的事情。如果您没有构建许多身份验证系统,您可能会发现实施自定义提供程序的过程具有教育意义。

于 2012-05-15T03:58:11.260 回答