I do something like this:
// Just for Reference
public interface IUserIdentity
{
Guid UserId { get; set; }
string UserName { get; set; }
}
Pass in a List which would contain your roles..
List<Claim> claims = new List<Claim>();
claims.Add(new Claim(ClaimType.Role,"Admin"));
public ClaimsIdentity CreateIdentity(IUserIdentity user, IEnumerable<Claim> claims, string authenticationType)
{
var identity = new ClaimsIdentity(claims, authenticationType);
identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, user.UserId.ToString()));
identity.AddClaim(new Claim(ClaimTypes.Name, user.UserName));
return identity;
}
If you are using ASP.NET Identiy this can be done easily. The "out of the box" membership stuff still sucks.