どのように私は、WCFサービスに要求しているユーザのロールをリストしますか?
-
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認証を使用するときにユーザーのロールを取得する方法を指摘します。
所属していません StackOverflow