我的页面上有3个角色,因此我希望能够访问与两个角色的链接。
我尝试这样的事情
@if(User.IsInRole("Admin,User"))
{
//my code
}
或者这个
@if (User.IsInRole("Admin") && User.IsInRole("User"))
{
//my code
}
没有人工作,我设法工作的唯一一个是:
@if (User.IsInRole("Admin")
但是最后一个只有一个角色,我该怎么做呢?
答案 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
}