どのように私は、WCFサービスに要求しているユーザのロールをリストしますか?

StackOverflow https://stackoverflow.com/questions/697065

  •  22-08-2019
  •  | 
  •  

質問

ちょうどWCFセキュリティとグリップになって始めました。どのように私はサービスで、ユーザーの役割の一覧を表示しますか?

例えばます。

// Could use declarative security here, i.e. using PrincipalPermission attribute
public string MyService()
{
    // Would like some code that does something like:
    foreach( Role role in CurrentUser.Roles )
    {
    }
}

おかげ

役に立ちましたか?

解決

のWindowsグループを扱うときは、このコードを使用することができます:

foreach (IdentityReference idRef in WindowsIdentity.GetCurrent().Groups)
{
    Console.WriteLine(idRef.Translate(typeof(NTAccount)).Value);
}

他のヒント

.NET(すなわちIPrincipal)でのロールベースのセキュリティインフラストラクチャは、ユーザーの役割の全てを取得することはできません。あなただけのユーザーが(IPrincipal.IsInRole(「ロール名」)を経由して)特定の役割であるかどうかを問い合わせることができます。

しかし、あなたが特定の認証/認可の設定に縛られて気にしない場合の解決策があります。例えば、別のポスターには、Windows認証を使用するときにユーザーのロールを取得する方法を指摘します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top