我正在使用MVC5编写WebApp,我将检查用户是否在指定的角色中。
因此我尝试使用User.IsInRole("Role")
但它会抛出异常。
我尝试导入AspNet.Identity并使用用户管理器,但找不到方法IsInRoleAsync(userId, role)
:
@using Microsoft.AspNet;
@if(UserManager.IsInRoleAsync(user.Id, "Role")){
// some code
}
请注意我在cshtml文件和razor语法中使用它。我希望你能帮助我。
提前谢谢
答案 0 :(得分:1)
代码SCNPlane
不仅适用于Razor视图(cshtml)。您必须实例化一个ApplicationUserManager实例,通常称为" UserManager"以及拥有有效的ApplicationUser(" user")对象。
最好在控制器中完成这项工作,并使用View Model或其他方法(如ViewBag或ViewData)将其传递给视图。
答案 1 :(得分:1)
您可以使用以下代码轻松查看:
例如:view1.cshtml
@if (Request.IsAuthenticated && User.IsInRole("Administrators"))
{
//Any code
}