I understand that a good way to check if an user is in a role is:
if (User.IsInRole(\"Admin\"))
{
}
However How can I check if my user is
Please, use this simple way :
@using Microsoft.AspNet.Identity
@if (Request.IsAuthenticated)
{
if (User.IsInRole("Administrator") || User.IsInRole("Moderator"))
{
... Your code here
}
}
I wanted to elaborate a little on mattytommo's answer, here is what I use:
Extension Method:
public static bool IsInAnyRole(this IPrincipal user, string[] roles)
{
//Check if authenticated first (optional)
if (!user.Identity.IsAuthenticated) return false;
var userRoles = Roles.GetRolesForUser(user.Identity.Name);
return userRoles.Any(roles.Contains);
}
Constants:
public static class Role
{
public const string Administrator = "Administrator";
public const string Moderator = "Moderator";
}
Usage:
if (User.IsInAnyRole(new [] {Role.Administrator,Role.Moderator}))
{
//Do stuff
}