扩展asp.net身份OWIN身份验证框架以使用Amazon DynamoDb

use*_*247 3 c# webforms amazon-dynamodb owin asp.net-identity

我计划使用Amazons NoSQL DynamoDB而不是MS SQL Server以及Visual Studio 2013附带的最新ASP.NET身份(OWIN)框架,但发现它与Microsoft的Entity Framework紧密结合.我使用WebForm而不是MVC.

关于如何处理此问题的任何建议?需要覆盖哪些类?DynamoDB甚至可以与EF一起使用吗?

Ola*_*ybø 6

这些类Microsoft.AspNet.Identity.Core不依赖于Entity Framework,可以与任何持久性存储一起使用.您需要提供自己的UserStore版本,并且可能需要提供RoleStore(如果需要)Microsoft.AspNet.Identity.EntityFramework.您不希望Microsoft.AspNet.Identity.EntityFramework在使用NoSQL数据库时包含此内容.

根据您的需要,您必须在UserStore上实现许多接口.你需要至少实现IUserStore,IUserPasswordStore,IUserSecurityStampStoreIUserLoginStore.微软提供的实体框架UserStore工具IUserClaimStore<TUser>IUserRoleStore<TUser>您可能会或可能不会需要根据你所说的的UserManager的方法来实现.

假设您跳过了IUserClaimStore和IUserRoleStore,它实现了14种方法,但大多数方法都很容易实现.这14个方法足以支持从默认模板中使用AccountController的部分.

我在GitHub上有一个项目,我自己尝试了类似的东西,即我实现了一个使用MongoDb而不是EntityFramework来持久化的UserStore.