17

SQL Serverの代わりにRavenDB(または他のデータベース)でSimpleMembership(ASP.NET MVC 4)を使用するために必要な手順は何ですか?

MembershipProviderをオーバーライドするために使用されていますが、新しいSimpleMembershipでどのように機能しますか?

SimpleMembershipProviderがあるのを見たので、それをオーバーライドする必要があると思いますが、メソッドがデータ目的のみを格納するためのものなのか、ビジネス/検証ロジックを含める必要があるのか​​わかりません)...

構成はどうですか?通常、InitializeDatabaseConnectionメソッドがシバン全体の初期化を担当していることは知っていますが、Entity Frameworkを使用しない場合は、このメソッドを呼び出す必要はないと思います。

残念ながら、あまり役に立たなかった2つのリンクを除いて、新しい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

4

3 に答える 3

11

ソースコード(MVC4)の一部を調べた結果、次のことがわかりました。

http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/553690ac9488#src%2fWebMatrix.WebData%2fExtendedMembershipProvider.cs

SimpleMembership は、抽象クラス ExtendedMembershipProvider の実装です。SimpleMembership 内のコードは、ほとんどが SQL 操作であり、基礎となる (ドキュメントでは「前」と呼ばれる) MembershipProvider へのいくつかの呼び出しです。

SimpleMembership の実装はほとんど SQL Server に関連付けられているため、SimpleMembership をオーバーライドすることは (私の場合) 役に立たないと思います。代わりに、私が理解していることについては、ExtendedMembershipProvider を実装する必要があります。次に、この実装を web.config ファイルに設定することにより、WebSecurity ヘルパーは SimpleMembership (デフォルトの実装) をバイパスし、ExtendedMembershipProvider の実装を呼び出します。

以前よりもさらに複雑に見えるため(実装するメソッドが増えるため)、すぐには実行できないと思いますが、それでも実行可能です。

しかし、これはすべて、ASPで大好きな依存性注入全体からはかけ離れたMembershipProviderをまだ使用しなければならないことに少しがっかりしています。ネット MVC/WebApi。

編集 1

この質問は、Jon Galloway がこのチュートリアルを作成する前に作成されました 。 -4-5-web-forms-and-asp-net-mvc-4-templates.aspx

しかし、これ(Jon Gallowayの記事から取得)が再開するため、私の答えは引き続き有効です。

SimpleMembership にはまだ SQL Server のフレーバーが必要であることに注意してください - MySQL、NoSQL データベースなどでは動作しません。理由 - 特にテーブルの作成および初期化時に、SQL Server 固有の SQL ステートメントが実行される場所があります。テーブルを個別に作成すれば、別のデータベースで作業できるように思えますが、試していないため、現時点ではサポートされていません。

于 2012-08-30T00:41:24.200 に答える
4

これが私のmongodbの実装です。多分それは https://github.com/malibeg/MongodbSimpleMembershipProvider#readmeを助けることができます

于 2013-01-11T08:11:35.847 に答える
1

SimpleMembership は、通常の MembershipProvider で想定される同じコントラクトをすべて満たすわけではないため、古い MembershipProviders で使用することを意図したものではありません。ほとんどの場合、WebSecurity ヘルパーを介して使用するように設計されています。

詳細については、このリンクが役立つ場合があります: Web ページのチュートリアル

于 2012-08-29T20:29:21.153 に答える