ASP.net配置文件和会员 - 自定义提供商或者我应该完全自己推出?

时间:2008-11-12 00:22:19

标签: .net asp.net membership-provider

首先,我知道这个问题可能是边缘重复的to this one,是的,我有点讽刺的是,我正在问一个我甚至自己回答的问题。

现在,我在谈论ASP.net配置文件。我正在使用MVC构建一个应用程序,如果这很重要,我相信内置的Profile Provider是没用的。

所以目前,我在问自己:我应该遵循自己的建议并编写自定义配置文件提供程序,还是应该完全推送自己的个人资料?

一些假设:

  • 我希望我的数据在我决定的数据库结构中
  • 这是一个全新的应用程序,没有需要集成的遗留数据库结构或用户群
  • 小到中等数量的用户(最多~5000个用户)
  • ASP.net MVC,很可能是Silverlight 2,甚至可能是一些Windows Azure,但我仍然在试验它,但绝对是.net 3.5 SP1。
  • 并且,可能作为主要决策点:不必使用Forms Auth,应用程序最终可能会使用Active Directory或OpenID进行身份验证

我仍然需要调查是否可以将ASP.net成员资格与非标准身份验证提供程序(OpenID)一起使用,因为我认为ASP.net配置文件只有在使用ASP.net成员资格时才有意义,所以我最终可能会结束为OpenID编写自定义成员资格提供程序(基本上只是作为桥梁)和自定义配置文件提供程序。

所以是的,我认为这可能是一个很好的方式,因为我继续使用框架已经给我的东西,但我接下来没有会员和个人资料的经验,所以也许这里的人有一些见解是否我应该完全滚动我自己的身份验证和/或配置文件,或者如果我最好编写自定义成员身份和配置文件提供程序,显然是what SO did

2 个答案:

答案 0 :(得分:3)

我没有经验编写自己的个人资料提供者,但我已经编写了自己的会员资格提供者。它相对容易(有很多方法你 不需要实现)。事实上,唯一真正需要的方法是GetUser()和ValidateUser()方法。

唯一有点棘手(并且值得分析)的部分是,似乎GetUser()被频繁调用,你应该考虑缓存结果,这样你就不会总是到达数据库。

答案 1 :(得分:0)

为了能够回答要做什么的问题,您需要坐下来确切地确定您的身份验证和配置文件模型所需的所有功能和要求,然后查看内置的.net内容提供的内容。只有在您有一份要求清单后,您才能准确评估您是否最适合自己动手或使用内置供应商。

对你来说,更好的提问方式是说“我需要与我的会员和个人资料提供商做x,y和z,我最好的选择是什么?”