0

VS2010 で ASP.NET アプリケーションを実行しています。クライアントから wcf サービスにアクセスするには、適切なロールが必要です。これらの役割が利用できないマシンでアプリケーションをテストする必要があります。

ソースコードを変更せずに、web.config またはその他の方法ですべてのサービスの PrincipalPermission チェックを無効にすることは可能ですか? または、'AppRole' を提供する方法はありますか?

[PrincipalPermission(SecurityAction.Demand, Role = "AppRole")]
public string GetFoo()
{
    // return ..
}
4

2 に答える 2

0

実行時に必要なロールを持つ汎用プリンシパルをインストールできます。役割は構成ファイルから取得できます。

IAuthorizationPolicyを使用すると、汎用プリンシパルをインストールできます。このSOを参照してください:WCFでカスタムIAuthorizationPolicyを宣言的に実装する方法は?

いくつかの詳細:

msdn:IAuthorizationPolicyインターフェイス

カスタムプリンシパルとWCF

于 2013-02-05T16:48:03.793 に答える
0

チェックを無効にすることはできないと思いますが、必要な役割を持つに設定Thread.CurrentPrincipalするだけです。IPrincipal

これを行う 1 つの方法はRoleProvider、適切なロールを使用して、テスト マシンのアプリケーション構成ファイルで を構成することです。

于 2013-02-05T16:47:05.120 に答える