5

私はMVC4について学び始めています。最初のステップとして、データベースに3つの役割しかないカスタムデータベースなので、ログインを実行する必要があります。

カスタムメンバーシッププロバイダーを実装することは本当に必要ですか?私がこの投稿を読んでいて、彼が別の方法をしているので、私はこれに疑問を持っています:http: //patrickdesjardins.com/blog/asp-net-membership-with-mvc4

カスタムデータベースからユーザーを取得し、役割を決定する必要があります。

ルールを決定するのは非常に簡単です。StudentとTeachersという2つのテーブルがあります。それぞれに、loggin Idと同様にIDと、共通プロパティのパスワードがあります。

if (db.Students.Where(x => x.StudentId == x && x.Password == y) return "student"
if (db.Teachers.Where(x => x.TeacherId == x && x.Password == y) return "teacher"

// does not exist

ASP.NETでこの機能を実装する方法について教えていただけますか?

4

1 に答える 1

13

注: 以下は、.NET Core または ASP.NET Core には適用されない場合があります。

調査を開始する前に、ASP.NET MVC4 ではメンバーシップとロールの管理が変更されていることに注意してください。(Visual Studio の「インターネット アプリケーション」テンプレートを使用している場合)

変更点については、 Jon Galloway のブログ投稿をお読みください。

NewSimple Membership Providerは拡張され、古いメンバーシップおよびロール管理システムの問題を克服するように設計されています (ASP.NET の一部であるため、引き続きサポートされています)。

どちらの実装もロール管理をサポートしており、どちらかの実装を自由に選択することも、独自にロールすることもできます。どちらが優れているかについては議論があり、一部の開発者は、両方の制限があるため、独自の実装を好みます。(偏りがあるので詳しくは書きません)

開始するためのチュートリアルを次に示します。[リンク]..チュートリアルでは、新しい SimpleMembership/WebSecurity メソッドではなく、古いメンバーシップ システムについて説明していることに注意してください。

アップデート

十分な認証フレームワークがあると思われるちょうどその時、Microsoft はOWIN - Open Web Interface for .NETを発表しました。

OWIN は、オープンでプラグ可能な .NET 用の一連のインターフェイスであり、これには認証が含まれます。MVC 5 OWIN フォーム認証の使用方法については、この投稿 [リンク]を参照してください。

于 2012-12-28T03:29:20.557 に答える