我在 Visual Studio 2013 RC 中工作,并正在使用新Microsoft.AspNet.Identity.*
包测试表单身份验证。
我想整合这些概念(用户、角色等),但想使用我自己的域模型(POCO),它们在不同的程序集中。我也不想创建对Microsoft.AspNet.Identity.*
dll 的依赖。
这甚至可能吗?我发现这篇文章说它不是,但这篇文章是基于预览而不是身份包的 RC 版本编写的。
我在 Visual Studio 2013 RC 中工作,并正在使用新Microsoft.AspNet.Identity.*
包测试表单身份验证。
我想整合这些概念(用户、角色等),但想使用我自己的域模型(POCO),它们在不同的程序集中。我也不想创建对Microsoft.AspNet.Identity.*
dll 的依赖。
这甚至可能吗?我发现这篇文章说它不是,但这篇文章是基于预览而不是身份包的 RC 版本编写的。
我更新了我的示例项目,您可以在这里找到: Identity RC1 sample
它现在实现了一个实体框架模型,它仍然需要对 Microsoft.AspNet.Identity.EntityFramework 的引用,因为我也不想重新实现所有 Store 类。但是该示例显示了如何为模型使用自己的 POCO 类。
如果要从模型程序集中完全删除对 Microsoft.AspNet.Identity.EntityFramework 的依赖,则需要实现一个实现 IIdentityStore 接口的类,该接口具有以下接口的属性:
IIdentityStore 类应位于与模型程序集不同的程序集中,并引用您的模型程序集。IIdentityStore 程序集将依赖于 ASP.Net Identity 核心。
您的 IIdentityStore 的自定义实现需要能够在 POCO 类之间相互转换为 ASP.Net 身份接口,例如 IUser、IUserSecret 等。
在我看来,如果您在商店中使用 EF,那么做很多工作却收效甚微。
依赖 AspNet.Identity.Core 程序集并让一些 POCO 类分别实现一个小接口,这对我来说似乎要简单得多。
是的,这是一个完全受支持的场景,基本上您将希望使用具有默认 EF 实现的 Microsoft.AspNet.Identity.EntityFramework dll 来使用 exclude,但您应该能够重用 Manager 类并使用实现您自己的自定义 Store您自己的 POCO,经理将通过界面很好地使用这些 POCO。对于 RTM 来说,它被精简了一些,我相信 RC 版本还没有那么精简。
更新您可以在此处提前访问 RTM 位: MyGet
以防万一。也许我可以帮助某人。 从 asp.net.Identity 驱除实体框架
我创建了单独的项目(类库),然后将 ref 添加到 asp.identity.core,然后我在那里实现了我的 UserStore 类,并在 Web 项目中提供了我的身份配置。
它在具有复杂 n 层架构的项目中运行良好。