2

データベース内のロールを管理したい asp.net mvc プロジェクトを作成しています。

テーブルのあるデータベースがあり、Premissions というテーブルには、mvc プロジェクトのロールを含む列 (AdministratorRole) があり、値は'Domain\John Smith'(ユーザー) のようなものを保持します。MVC プロジェクトが起動するたびにこの列をチェックするようにします。

私の mvc プロジェクトでは、コントローラーで Authorize 属性を使用しています。

[Authorize(Roles = Roles.AdministratorRole)]

IQueryableを使用してデータベースにクエリを実行し、application_startメソッドの Global.asax ファイルに何かを追加して、最初にインターフェイスを実行し、すべてのロールをチェックできるように、インターフェイスを作成することを考えていました。(これどうやってするの?)

これは、プロジェクトのコードではなくデータベースでロールを維持できるようにするためです。

どうすればこれを行うことができますか?

ありがとう

4

2 に答える 2

3

ASP.Net は、メンバーシップとロールにプロバイダー モデルを使用します。何かカスタムを行っている場合は、単にCustom RoleProviderを作成する必要があります。

于 2012-10-02T12:22:56.930 に答える
2

RoleProviderを実装できます。

ASP.NET ロール管理を使用すると、ASP.NET アプリケーションにさまざまなプロバイダーを簡単に使用できます。.NET Framework に含まれているプロファイル プロバイダーを使用することも、独自のプロバイダーを実装することもできます。

カスタム ロール プロバイダーを作成する主な理由は 2 つあります。

FoxPro データベース、Oracle データベース、またはその他のデータ ソースなど、.NET Framework に含まれているロール プロバイダーによってサポートされていないデータ ソースにロール情報を格納する必要があります。

.NET Framework に同梱されているプロバイダーが使用するデータベース スキーマとは異なるデータベース スキーマを使用して、ロール情報を管理する必要があります。この一般的な例は、企業または Web サイトの SQL Server データベースに既に存在する承認データです。

于 2012-10-02T12:22:38.993 に答える