Asp.net mvc 支持RavenDB的MVC4成员系统

Asp.net mvc 支持RavenDB的MVC4成员系统,asp.net-mvc,asp.net-mvc-4,ravendb,membership-provider,Asp.net Mvc,Asp.net Mvc 4,Ravendb,Membership Provider,我创建了很多快速的“概念验证”MVC应用程序,我发现MVC4模板附带的SimpleMembership提供程序非常方便,因为它可以让我在几分钟内启动并运行用户注册和OAuth 但是…我已经开始使用RavenDb(在RavenHQ上为我的项目做了很多)。因此,我开始尝试在ExtendedMembershipProvider的基础上实现我自己的“自定义成员资格提供程序”,在这样做的同时,我意识到这没有多大意义。 后来,我偶然发现了两个有趣的项目,试图解决这个确切的问题: WorldDominati

我创建了很多快速的“概念验证”MVC应用程序,我发现MVC4模板附带的SimpleMembership提供程序非常方便,因为它可以让我在几分钟内启动并运行用户注册和OAuth

但是…我已经开始使用RavenDb(在RavenHQ上为我的项目做了很多)。因此,我开始尝试在ExtendedMembershipProvider的基础上实现我自己的“自定义成员资格提供程序”,在这样做的同时,我意识到这没有多大意义。 后来,我偶然发现了两个有趣的项目,试图解决这个确切的问题:

  • WorldDomination.Web.Auth:
  • MemFlex:
这两个项目都是最近非常有趣的工作,我想知道这些是否是目前正在建造的唯一项目。我本质上是在寻找nuget pkg,我可以将其放入MVC4应用程序,连接到我的RavenDb并完成。我愿意建立这个东西,但不想重复任何已经在运动的努力。
谢谢

RavenDB有几个ASP.Net成员资格提供程序。它们都不是官方的,它们的实现都略有不同。谷歌搜索“ravendb会员提供商”,你会发现很多

有一篇很好的文章将其中一些与Raven自己的授权和身份验证捆绑包进行了比较

我同意您的看法,在各种MVC4模板上用SQL替换Raven应该更容易。然而,除了依赖于成员资格提供者之外,他们倾向于使用设计用于实体框架的模型。如果您在考虑RavenDB的情况下从头开始编写示例模板,那么您可能会有一个非常不同的最终产品

更新

我不知道你在谈论新的
SimpleMembershipProvider
。我不知道这个存在。我发现详细描述它是一本很棒的书。他指出了与此相关的两个关键点。我引述:

请注意,SimpleMembership仍然需要一些SQL Server风格-它不能用于MySQL、NoSQL数据库等。如果您想了解原因,可以使用ILSpy之类的工具查看WebMatrix.WebData.dll中的代码-有些地方会执行特定于SQL Server的SQL语句,尤其是在创建和初始化表时。如果单独创建表,您似乎可以使用另一个数据库,但我还没有尝试过,目前还不支持

这里需要注意的重要一点是SimpleMembershipProvider是一个成员资格提供者,但成员资格提供者不是SimpleMembershipProvider。 这种区别在实践中很重要:不能将现有的成员资格提供程序(包括System.Web.Providers中的通用提供程序)与需要SimpleMembershipProvider的API一起使用,包括WebMatrix.WebData.WebSecurity或Microsoft.Web.WebPages.OAuth.OAuthWebSecurity中的任何调用


我认为为RavenDB编写一个
SimpleMembershipProvider
是不可能的。

有一个新项目似乎可以使用RavenDB巧妙地实现AspNet.Identity

是的,我在谷歌上搜索了“ravendb会员提供商”,我发现还有一两个基于MVC3的项目,不支持OAuth,这是我要找的50%。我也知道RavendbAuth捆绑包,但它处理的是“系统用户”,而不是我想要的(应用程序用户)。谢谢。似乎大多数人在不了解新的SimpleMembership提供商的情况下回答了这些关于成员资格的问题。MemFlex(正如我在问题中指出的)是为支持RavenDB的SimpleMembership而构建的。我只是在寻找其他的解决办法。仅供参考,有人给我发了一封电子邮件,说应该很快就会有一个“解决方案”,但他们无法对细节发表评论。难道你不能在接口后面隐藏WebSecurity和OAuthWebSecurity,然后自己实现这些方法吗?我下载并使用了MemFlex解决方案。它就像一个符咒一样,是开箱即用的。但是有人能解释一下这个项目的现状吗?我们可以信任生产系统吗?这段代码还在维护吗?我刚刚看到Scott Allen的这篇文章,他是EF和RavenDB的会员。你的问题有什么进展吗?你最后用了什么?我用叉子来满足我的需要。工作起来很轻松。但我听说还有另一个项目(TBA)可以解决同样的问题。