Avec ASP.NET Identity 2.0, comment vérifiez-vous si l'utilisateur actuellement connecté est dans un rôle? J'utilise ce qui suit, mais je me demande s'il y a quelque chose de plus efficace.
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)
{
}
La manière correcte dans ASP Identity est aussi simple que
User.IsInRole("rolename");
En supposant que vous êtes dans ASP.NET, c'est assez simple:
if (!Roles.IsUserInRole(User.Identity.Name, "Administrators"))
{
return "You are not authorized to access this page.";
)
(de http://msdn.Microsoft.com/en-us/library/4z6b5d42%28v=vs.110%29.aspx )
Vous pouvez obtenir l'ID utilisateur de l'identité plutôt que d'avoir à rechercher l'utilisateur dans la base de données ...
var um = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new DbContext()));
var inrole = um.IsInRole(Context.User.Identity.GetUserId(), "Admin");
cela a fonctionné pour moi j'espère que cela aide ...
If HttpContext.Current.User.IsInRole("admin") Then
adminmnu.Visible = True
End If