2

従来のASP.NETアプリケーション内にカスタム承認を実装するさまざまな手法をすべて理解しようとしています。推奨されるアプローチは、カスタムプロバイダーモデルを作成してMembershipAPIを使用することです。

ロールと個々のパーミッションの組み合わせに基づくカスタムロール承認モデルの実装に興味があります(ロールはパーミッションで構成され、ユーザーは複数のロールまたはロールが持つ可能性のあるパーミッションをオーバーライドする特定のパーミッションを持つことができます)

本格的なロールプロバイダーを作成することと、カスタムプリンシパルオブジェクトを実装してすべての承認ロジックをIsInRoleメソッドのオーバーロードに実装することの長所と短所は何ですか?カスタムプリンシパルは、1.1に戻った非推奨の手法ですか?一般的に、いつカスタムプリンシパルを実装することになっていますか?

ユーザーストアとしてActiveDirectoryを使用しています。サードパーティのコンサルティング会社は、XMLファイルに含まれ、各ユーザーのSessionオブジェクトで渡される承認ロジックとルールを含み、承認のためにASP.NETインフラストラクチャとは一切関係しない、ひどいカスタムロールベースの承認モジュールを実装しました。 。

このためのベストプラクティスを知りたいのですが

4

1 に答える 1

0

asp.netメンバーシップとロールプロバイダーのアーキテクチャに固執することをお勧めします。それはうまく統合されており、よく考えられたシステムです。

別のアカウントストアを使用する必要がある場合は、asp.netメンバーシップまたはアクティブディレクトリを使用して、カスタムメンバーシップやロールプロバイダーをいつでも実装できます。これは難しいことではありません。

カスタムサードパーティシステムをカスタムロールプロバイダーでラップすることは可能かもしれませんが、特定のクラスで提供されていない特別なニーズがある場合にのみ、カスタムになります。

このビデオは面白いかもしれません

于 2011-06-23T07:17:15.653 に答える