ページに3つの役割があるので、2つの役割にリンクするためのアクセス権を取得したいと考えています。
私はこのようなものを試します
@if(User.IsInRole("Admin,User"))
{
//my code
}
またはこれ
@if (User.IsInRole("Admin") && User.IsInRole("User"))
{
//my code
}
誰の作品でもありません、私が何とか働いたのはこれだけです:
@if (User.IsInRole("Admin")
しかし、この最後の1つは1つの役割のみです。どうすればよいですか。
誰も仕事をしていません。私が何とか仕事をしたのはこれだけです。
これは、メソッドIsInRole
の機能を考えると妥当です。
現在ログオンしているユーザーが指定されたロールに属しているかどうかを示す値を取得します。 APIはASP.NET要求スレッドのコンテキスト内でのみ呼び出されることを意図しており、その認可されたユースケースではスレッドセーフです。
つまり、ユーザーは管理者の役割を持っている可能性がある(そうUserIsInRole("Admin")
はtrueを返す)が、ユーザーの役割を持っている可能性がありますnotUserIsInRole("User")
はfalseを返します)。したがって、User.IsInRole("Admin") && User.IsInRole("User")
はfalse
と評価されます。
あなたが必要とするかもしれないのはこれです:
// If the user's role is either admin or user then do something
@if (User.IsInRole("Admin") || User.IsInRole("User"))
{
//my code
}