【问题标题】:Why membership provider is not generic?为什么会员提供者不是通用的?
【发布时间】:2010-04-10 22:04:14
【问题描述】:

我不得不承认我讨厌会员提供者。默认实现通常不是很合适,到目前为止我还没有看到自定义成员资格提供程序的良好实现,可能是因为这是不可能的:-)

所以问题是:

在您看来:没有将成员资格/角色提供者作为通用类的原因是什么?我的意思是,为什么微软没有选择这种方法。

编辑

阅读答案后,我意识到我在谈论 MembershipProvider 和 RoleProvider 可能还不够清楚。与 ASP NET 的核心身份验证机制无关。

【问题讨论】:

  • 通用如MembershipProvider<T>? T 会是什么?

标签: c# asp.net generics membership-provider


【解决方案1】:

想到的最明显的原因是:

  • 默认类足以满足大多数用途(主要是:用户管理、身份验证和权限检查);

  • 系统已经可以通过继承进行扩展(实现IPrincipal)。

  • 在泛型可用之前,会员系统是为 .NET 1.1 框架设计的。

【讨论】:

  • @Aaronaught:感谢您的回答。成员资格提供者的方法返回一个 MembershipUser 实例。如果你想返回其他东西,你必须从这个类继承并将其转换到外部。没有方法返回接口:-(
  • @Timmy:也许你应该阅读一些文档。 msdn.microsoft.com/en-us/library/aa480476.aspx
  • @Aaronaught:再次感谢。该文档如何与 MembershipProvider 相关联?
  • @Timmy:向下滚动到FormsAuthenticationModule,它解释了如何使用IPrincipal 界面。这里有一个完整的架构,MembershipProvider 不应该单独使用。
  • 仅供参考:如果您需要更多关于实现 IPrincipal 的信息,这里有一个教程:msdn.microsoft.com/en-us/library/Aa302401
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多