【问题标题】:Extend asp.net identity OWIN authentication framework to work with Amazon DynamoDb扩展 asp.net 身份 OWIN 身份验证框架以使用 Amazon DynamoDb
【发布时间】:2013-11-20 15:02:36
【问题描述】:

我计划使用 Amazon 的 NoSQL DynamoDB 代替 MS SQL Server 和 Visual Studio 2013 附带的最新 ASP.NET 身份 (OWIN) 框架,但发现它与 Microsoft 的实体框架紧密结合。我使用的是 WebForm 而不是 MVC。

关于如何解决这个问题的任何建议?哪些类需要被覆盖? DynamoDB 甚至可以与 EF 一起使用吗?

【问题讨论】:

标签: c# webforms amazon-dynamodb asp.net-identity owin


【解决方案1】:

Microsoft.AspNet.Identity.Core 中的类不依赖于实体框架,可以与任何持久性存储一起使用。 您将需要提供您自己的 UserStore 版本,可能还有来自Microsoft.AspNet.Identity.EntityFramework 的 RoleStore(如果需要)类。您不想在使用 NoSQL 数据库时包含 Microsoft.AspNet.Identity.EntityFramework

根据您的需要,您必须在 UserStore 上实现许多接口。您至少需要实现IUserStoreIUserPasswordStoreIUserSecurityStampStoreIUserLoginStore。 Microsoft 提供的实体框架 UserStore 实现了 IUserClaimStore<TUser>IUserRoleStore<TUser>,您可能需要也可能不需要实现它们,具体取决于您将调用的 UserManager 的哪些方法。

假设您跳过 IUserClaimStore 和 IUserRoleStore,它有 14 种方法可以实现,但其中大部分都非常简单地实现。这 14 种方法足以支持默认模板中 AccountController 使用的部分。

我在GitHub 有一个项目,我自己尝试过类似的事情,即我实现了一个使用 MongoDb 而不是 EntityFramework 的 UserStore 来实现持久性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-09
    • 1970-01-01
    • 2015-03-24
    • 2014-05-08
    • 2014-01-02
    • 2015-09-23
    • 2014-09-15
    • 1970-01-01
    相关资源
    最近更新 更多