2

従来のプリンシパルベースの承認とIdentityModel承認のどちらを使用するかを評価しようとしています。最近、マイクロソフトが後者を推奨しているようですが、成熟度やサポートの点で十分とは言えません。PrincipalPermissionAttribute具体的には、を設定し、フレームワークが不正なクラスのインスタンス化とメソッド呼び出しの防止を自動的に処理できるようにする機能が本当に気に入っています。

私はすでにを使用していて、ServiceAuthorizationManagerそこで評価を実行できます...しかし、非WCFシナリオはどうですか?また、実行前ではなく、特定のクラスのインスタンス化を防止し、WCF操作内のメソッド呼び出しを防止するのはどうでしょうか。

私もすでにIoCメカニズムを使用しておりRequiresClaimAttribute、クラスまたはメソッドの仮説に対してクレームベースの評価を実行するインターセプターとカスタムアクティベーターの使用を検討しています...しかし、そのようなアプローチは、次のようなオブジェクトを必要とするため、あまり好きではありません解決と構築のためにIoCコンテナを使用するための承認サポートが必要です...

だから私の質問は...MicrosoftのWindowsIdentityFoundation(別名IdentityModelフレームワーク)はこの時点で使用できるほど成熟しているのでしょうか?IdentityModelで説明していることを達成する方法はありますか?

4

1 に答える 1

2

これはすべてWIFで実現できます。特に、WIFはIPrincipalおよびIIdentityインターフェイスを介して.NETFrameworkにプラグインします。これら2つに対してコーディングされたアプリは、おそらく「正常に機能する」でしょう(ほとんどのASP.NETおよびWCFサービスのように)。atuhorizationのアーティファクトとしてのロールは、WIFによって自動的にマップされるため、IPrincipal.IsInRoleを呼び出すフレームワークも機能するはずです。

この例は、「RIAサービス」との統合を示し、提案されているように、より一般的な「RequiresClaimAttribute」の可能な実装(および拡張)を説明しています。

成熟度の質問について。私はそれをあなたがそれをどのように定義するかに依存すると思います。これは.NETFrameworkに比較的新しく追加されたものですが、リリースされ、完全にサポートされています。WIFを使用するいくつかの(本番)アプリケーションを知っています。いくつかはより大きく、いくつかはより小さく、いくつかは民間部門にあり、いくつかは政府の解決策にあります。自分の状況や制約に対する適用性と適合性を評価する必要があります。

于 2010-08-03T04:09:10.553 に答える