AspNet.Idendity:判断用户是否在指定的Role

AspNet.Idendity: determine whether the user is in a specified Role

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

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

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

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

提前致谢

代码 UserManager.IsInRoleAsync 不仅仅适用于 Razor 视图 (cshtml)。您必须实例化一个 ApplicationUserManager 实例,通常称为 "UserManager" 以及一个有效的 ApplicationUser ("user") 对象。

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

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

例如:view1.cshtml

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

}