【发布时间】:2012-07-04 19:25:32
【问题描述】:
有谁知道是否要创建一个默认的 MembershipProvider 以与 EF 5 一起使用(如 SqlMembershipProvider 和 ActiveDirectoryMembershipProvider),或者我们仍然需要创建自定义的成员(当然是 Code First)?
【问题讨论】:
-
您根本不应该将会员提供者和 EF 结合起来。成员资格提供程序有自己的逻辑封装在存储过程中 - 只需按原样使用它,或者您可以破坏其安全实现!将 EF 用于您拥有的类而不是系统类。
-
据我所知,MSDN 告诉我 MembershipProvider 是一个抽象类,可以继承它以实现自定义会员提供程序。此外,在 MSDN 中指出,例如,如果您使用 Oracle,您将希望实现自己的提供程序。或许你指的是SqlMembershipProvider,它是一个具体的实现,自带数据库(aspnetdb),使用存储过程。
-
另外我知道,当您需要存储用户凭据时,最好实现自己的提供程序,从 MembershipProvider 继承,而不仅仅是随机发明自己的逻辑。
-
是的,我指的是 SqlMembrrshipProvider。如果要存储自己的用户凭据实现,则需要发明自己的逻辑,因为 MembershipProvider API 依赖于像 MembershipUser 这样的固定类,EF 代码无法首先映射这些类。
-
但是我指的不是SqlMembershipProvider,而是抽象类MembershipProvider。所以存储过程不是问题。映射到 MembershipUser 也可能很困难,但并非不可能 - 我想在这里的某个地方我找到了使用适配器模式的解决方案。然而,这不是我最初的问题。我只是想知道是否会在 .NET 4.5 中为 EF 创建一个默认的 MembershipProvider,就像 SQL 一样——比如 EfMembershipProvider。除此之外,在尝试将 MembershipProvider 与 EF 结合使用时,我知道当前存在的许多问题。
标签: membership-provider .net-4.5 entity-framework-5