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