我正在 Visual Studio 2013 RC 中工作,并使用新的测试表单身份验证Microsoft.AspNet.Identity.*
包。
我想集成这些概念(用户、角色等),但想使用我自己的域模型(POCO),它们位于不同的程序集中。我也不想创建对Microsoft.AspNet.Identity.*
dlls.
这可能吗?
我发现本文它说不是,但这篇文章是基于预览版而不是身份包的 RC 版本编写的。
我已经更新了我的示例项目,您可以在这里找到:身份 RC1 样本
它现在实现了一个实体框架模型,它仍然需要引用 Microsoft.AspNet.Identity.EntityFramework,因为我不想也重新实现所有 Store 类。但该示例展示了如何为模型使用自己的 POCO 类。
如果要从模型程序集中完全删除对 Microsoft.AspNet.Identity.EntityFramework 的依赖关系,则需要实现一个实现 IIdentityStore 接口的类,该类具有以下接口的属性:
- 用户登录商店
- IRoleStore
- 用户秘密库
- ITokenStore
- 用户索赔存储
- 用户管理商店
- 用户存储库
IIdentityStore 类应该位于与模型程序集分开的程序集中,并引用模型程序集。 IIdentityStore 程序集将依赖于 ASP.Net Identity 核心。
IIdentityStore 的自定义实现需要能够在 POCO 类与 ASP.Net Identity 接口(例如 IUser、IUserSecret 等)之间进行转换。
在我看来,如果您无论如何都在商店中使用 EF,那么工作量很大却收效甚微。
对我来说,依赖 AspNet.Identity.Core 程序集并让一些 POCO 类各自实现一个微小的接口似乎要简单得多。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)