此博客:
关于ASP.NET身份提供者状态:
持久性控制
默认情况下,ASP.NET Identity系统会将所有用户信息存储在数据库中。 ASP.NET Identity使用Entity Framework Code First来实现其所有持久性机制。
如果您的应用程序要求是此信息可能存储在不同的存储机制中,例如SharePoint,Azure表服务,无Sql数据库等,则现在可以插入不同的存储提供程序。
但是如何使用Azure表服务呢?我的研究表明你不能将实体框架与表服务一起使用,所以我认为你必须完全替换使用实体框架的代码,但我不确定。
相关问题:我是EF的新手。我们如何定制数据的存储方式(即使在SQL服务器中)?我发现了两个显示向用户表添加额外字段的示例:
http://www.asp.net/web-api/overview/security/external-authentication-services
但我不清楚到底发生了什么。我认为它首先使用实体框架代码,但我看到很少有关于如何自定义EF为此存储数据的文档。例如,我可以重命名实体吗?我可以定义数据库的名称吗?
...谢谢
-Ben
答案 0 :(得分:3)
Asp.Net Identity使用EntityFramework实现存储的默认实现。
Microsoft.AspNet.Identity.Core有一个接口列表,需要实现这些接口才能将数据存储在您希望的位置和方式。这些接口提供了最少的所需成员和方法。
IdentityManager是您可以传递自定义商店界面实施的主要入口点。
IdentityManager(Microsoft.AspNet.Identity.IIdentityStore)
查看框架的这种自定义(与存储/存储无关,它将为您提供更多指导)
Implementing User Confirmation and Password Reset with One ASP.NET Identity
答案 1 :(得分:1)
我在这里回答了一个类似的问题,其中一个示例azure表存储实现应该可用于1.0.0 RTM位
答案 2 :(得分:1)
这应该提供大多数(如果不是全部)OP询问的细节: How To: Use Azure Table Storage as an OAuth Identity Store with Web API 2
看起来K. Scott Allen已经开始a series of blog posts走向这个方向(MongoDB vs. Azure Tables)。