W3M*_*Max 17 asp.net ravendb asp.net-mvc-4
使用SimpleMembership(ASP.NET MVC 4)与RavenDB(或其他数据库)而不是SQL Server的必要步骤是什么?
我习惯于覆盖MembershipProvider,但它如何与新的SimpleMembership一起使用?
我看到有一个SimpleMembershipProvider所以我认为我应该覆盖它,但我不知道这些方法是仅用于存储数据目的还是它们应该包含业务/验证逻辑)...
配置怎么样?我知道InitializeDatabaseConnection方法通常负责初始化整个shebang,但如果我不使用Entity Framework,我认为不应该调用它.
不幸的是,除了两个不太有用的链接之外,我没有找到关于新SimpleMembership的大量资源:
http://igambin.blogspot.ca/2012/08/simplemembershipprovider-huh.html
http://blog.osbornm.com/archive/2010/07/21/using-simplemembership-with-asp.net-webpages.aspx
W3M*_*Max 11
所以这是我在查看一些源代码(MVC4)后发现的内容.
SimpleMembership是抽象类ExtendedMembershipProvider的实现.SimpleMembership中的代码主要是SQL操作,有些调用底层(在文档中称为"previous")MembershipProvider.
我认为覆盖SimpleMembership没有任何用处(在我的情况下),因为它的实现主要与SQL Server绑定.相反,根据我的理解,我应该实现ExtendedMembershipProvider.然后,通过在web.config文件中设置此实现,WebSecurity帮助程序将绕过SimpleMembership(默认实现)并调用我的ExtendedMembershipProvider实现.
我认为我不会很快这样做,因为它看起来比以前更复杂(实施的方法更多)......但仍然可行.
然而,所有这些说,我有点失望,我们仍然需要与MembershipProvider合作,恕我直言,远非(很多静态和内部的东西)来自整个依赖注入的东西,我们非常喜欢ASP. Net MVC/WebApi.
编辑1
在Jon Galloway撰写本教程之前,这个问题很难解决:http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net -4-5-web的表单和-ASP净MVC -4- templates.aspx
但我的回答仍然有效,因为这(摘自Jon Galloway的文章)恢复了它:
请注意,SimpleMembership仍然需要一些SQL Server的味道 - 它不适用于MySQL,NoSQL数据库等.如果你想看看,你可以使用像ILSpy这样的工具来查看WebMatrix.WebData.dll中的代码.原因 - 有些地方正在执行SQL Server特定的SQL语句,尤其是在创建和初始化表时.如果您单独创建表,似乎您可以使用其他数据库,但我还没有尝试过,此时不支持它.