有谁知道是否要创建一个默认的 MembershipProvider 以与 EF 5 一起使用(如 SqlMembershipProvider 和 ActiveDirectoryMembershipProvider),还是我们仍然需要创建自定义的(当然是 Code First)?
2 回答
实际上,经过长时间的评论和解释后,EF 将有一个默认的 MembershipProvider 并且 - 猜猜看,猜猜看 - 它被称为 EFMembershipProvider。这是一个链接。现在这真的很酷,因为不再需要 MembershipProvider 的第三方实现(或相应的手动实现——对于小型项目来说,这有点大,而且完全过度杀伤)。
更新 目前似乎该提供程序不可用。我也不知道它是否会被开发并包含在未来。
由于我们鼓励在使用 EF Code First 时使用 SimpleMembershipProvider 和迁移,这就是我现在正在做的事情。您还可以实现 ExtendedMembershipProvider,这需要更多的努力。
对我来说,目前最好的解决方案是继承 SimpleMembershipProvider 并只修改我需要的东西(我使用的是之前实现 MembershipProvider 的大部分代码),例如使用电子邮件或用户名进行日志记录。
我已经使用我的 Silversite CMS ASP.NET 库实现了 CodeFirst MembershipProvider 和角色,可以在 silversite.codeplex.com 上找到它。该库还支持 CodeFirst 数据库的多个 DbContext。据我所知,虽然目前实施已被破坏,我还没有时间修复它。还缺少 Profile 和 Session 提供者。但是我从 MySql 提供者那里得到了不应该太难移植的代码。