私はWebAPI
で作業しています。私はそれぞれのクライアントにデータを送信する次の2つの方法を持っています。管理者ロールと匿名ロールのAuthorizeメソッドを共有する方法
メソッドのシグネチャは
[HttpPost]
[Authorize]
public string GetMessage()
{
return "I'm a Member of StackOverflow";
}
[HttpPost]
[Authorize(Roles = "Admin")]
public string GetAdminMessage()
{
return "I'm a Member of StackOverflow since 2010";
}
が親切にどのようにクラブの役割に基づいて、単一の方法でこれらの2つの方法が、それはデータを返す必要があり、私を支援しています。
予想される骨格構造を使用すると、カンマ[Authorize(Roles="role1,role2")]
と別個のものとしての役割をPASでき
[HttpPost]
[Authorize ???]
public string GetMessage()
{
return "I'm a Member of StackOverflow" + (Roles == Admin) ? "since 2010" : String.Empty;
}
なぜif(this.User.IsInRole( "Admin")){...} else {...} 'を使用しないのですか? – haim770
@ haim770 - Authorize属性の構造は何ですか?[Authorize ???] ' –
パラメータなしで' [Authorize] 'を適用するだけです。許可されたユーザーだけがアクションにアクセスできることを確認します(ロールに関係なく)。次に、あなたは 'if ...'を使って自分の役割を絶対にチェックします。 – haim770