2

私は WIF を使用していくつかの WCF サービスを保護することを検討しており、Microsoft の ID トレーニング キットを読み、演習 1 で「さらに、開発者がコード アクセス セキュリティ スタイルの呼び出し (つまり、属性による装飾など) を介して条件を割り当てることを期待できます。どちらの機能にもコーディングのサポートが必要です」(この記事の途中: http://channel9.msdn.com/Learn/Courses/IdentityTrainingCourse/WebServicesAndIdentity/WebServicesAndIdentityLab/Exercise-1-Using-Windows-Identity-Foundation-to- Handle-Authentication-and-Authorization-in-a-WCF-Ser )

ただし、この装飾アプローチを利用するソリューションを実装する方法に関するドキュメントは見つかりません。実際の WCF メソッドまたはビジネス ロジック内でクレームを使用する必要はありませんが、メソッドへのアクセスを保護するために WIF/STS を使用したいだけです。これが最善のアプローチであるかどうか、および装飾を使用してメソッドを保護する方法についてのヒントをいただければ幸いです。

4

2 に答える 2

2

PostSharp をご覧ください。AOP を使用して横断的な関心事を実装し、それらを属性として適用してメソッドを装飾できます。したがって、チェックはよく知られている場所に分離され、ビジネス メソッドは、それらのメソッドを実行するために必要なクレームをセキュリティ属性で指定します。

または、単純なケースでは、これを使用できます(これらを参照していたと思います):

[ClaimsPrincipalPermission(SecurityAction.Demand, Operation = "Operation1", Resource = "Resource1")]
于 2011-02-02T10:54:15.287 に答える
1

IOperationInvoker を実装することもできます。コントラクトに属性を付け、動作で実装します。起動時にチャネルとエンドポイントをスピンスルーし、メソッドおよび/またはパラメーターの属性の操作を反映して、チェックをセットアップします。次に、操作が呼び出されたときにチェックを適用します。

良い記事がいくつかあります。私は以下のものしか見つけることができませんが。

http://msdn.microsoft.com/en-us/magazine/cc163302.aspx

于 2011-02-21T08:17:46.347 に答える