' User.IsInRole'中的多个角色

时间:2015-10-29 22:15:14

标签: c# asp.net razor roles

我的页面上有3个角色,因此我希望能够访问与两个角色的链接。

我尝试这样的事情

@if(User.IsInRole("Admin,User")) 
{
 //my code
}

或者这个

@if (User.IsInRole("Admin") && User.IsInRole("User"))

{
 //my code
}

没有人工作,我设法工作的唯一一个是:

 @if (User.IsInRole("Admin")

但是最后一个只有一个角色,我该怎么做呢?

1 个答案:

答案 0 :(得分:15)

  

没有人工作,我唯一能成功的是:

如果您考虑IsInRole方法的作用,这是合理的。

  

获取一个值,该值指示当前登录的用户是否在   指定的角色。 API仅用于在。中调用   ASP.NET请求线程的上下文,以及该受批准的用例   它是线程安全的。

据说用户可能具有管理员角色(因此UserIsInRole("Admin")返回true)但可能具有User角色(因此UserIsInRole("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
}