0

我正在使用 MVC5 编写 WebApp,我将检查用户是否处于指定角色中。

因此我尝试使用User.IsInRole("Role"),但它会引发异常。我尝试过导入 AspNet.Identity 并使用用户管理器,但找不到方法IsInRoleAsync(userId, role)

@using Microsoft.AspNet;
@if(UserManager.IsInRoleAsync(user.Id, "Role")){
    // some code
}

请注意,我在 cshtml 文件和 razor 语法中使用它。我希望你能帮助我。

先感谢您

4

2 回答 2

1

您好,您可以使用以下代码轻松查看:

例如:view1.cshtml

@if (Request.IsAuthenticated && User.IsInRole("Administrators"))
{
     //Any code

}
于 2017-07-01T01:38:38.507 回答
1

该代码UserManager.IsInRoleAsync不仅仅在 Razor 视图 (cshtml) 中工作。您必须实例化一个 ApplicationUserManager 实例,通常称为“UserManager”,并拥有一个有效的 ApplicationUser(“user”)对象。

您最好在控制器中完成这项工作,并使用 View Model 或其他方式(如 ViewBag 或 ViewData)将其传递给视图。

于 2017-07-01T00:50:03.337 回答