5

首先,我知道这个问题可能与这个问题重复是的,我问一个我什至自己回答的问题有点讽刺。

现在,我说的是 ASP.net Profiles。如果这很重要,我正在使用 MVC 构建应用程序,并且我相信内置的 Profile Provider 是无用的。

所以此刻,我在问自己:我应该按照自己的建议编写自定义配置文件提供程序,还是应该完全推出自己的配置文件?

一些假设:

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

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

所以是的,我认为这可能是一个好方法,因为我继续使用框架已经给我的东西,但我几乎没有会员资格和个人资料方面的经验,所以也许这里有人对我是否应该完全滚动有所了解我自己的身份验证和/或配置文件,或者如果我最好编写自定义成员资格和配置文件提供程序,这显然是这样做的?

4

2 回答 2

3

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

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

于 2008-11-12T06:00:01.180 回答
0

为了能够回答要做什么的问题,您需要坐下来准确地确定您的身份验证和配置文件模型需要的所有功能和要求,然后查看内置的 .net 东西提供了什么。只有拥有了需求列表后,您才能准确评估您是否最好自己滚动或使用内置提供程序。

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

于 2008-11-12T02:57:31.423 回答