ASP.NET Identity 2.0 проверяет, является ли текущий пользователь роли IsInRole

С ASP.NET Identity 2.0, как вы проверяете, является ли текущий пользователь в роли? Я использую следующее, но задаюсь вопросом, есть ли что-то более эффективное.

var um = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new DbContext()));
var au = um.FindByEmail(Context.User.Identity.GetUserName());
var inrole = um.IsInRole(au.Id, "Admin");

if (inrole)
{
}

Ответ 1

Правильный способ в ASP Identity прост как

User.IsInRole("rolename");

Ответ 2

Вы можете получить идентификатор пользователя из Identity, а не искать пользователя в базе данных...

var um = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new DbContext()));
var inrole = um.IsInRole(Context.User.Identity.GetUserId(), "Admin");

Ответ 4

это сработало для меня, надеюсь, это поможет...

If HttpContext.Current.User.IsInRole("admin") Then
        adminmnu.Visible = True
    End If