using System.Security.Principal;
using System.Security.Claims;
public static void Main()
var roles = new[] { "Role1", "Role2" };
var identity = new GenericIdentity("Test", "Test");
var principal = new GenericPrincipal(identity, roles);
Console.WriteLine("Roles associated with the GenericPrincipal:");
foreach(var role in principal.Claims.Where(c => c.Type == ClaimTypes.Role).Select(c => c.Value))
Console.WriteLine(String.Empty);
Console.WriteLine("All Claims associated with the GenericPrincipal:");
foreach(var claim in principal.Claims)
Console.WriteLine(claim);
Console.WriteLine(String.Empty);
Console.WriteLine("All Claims associated with the GenericIdentity prior to explicitly adding role Claims:");
foreach (var claim in identity.Claims)
Console.WriteLine(claim);
foreach (var role in roles)
identity.AddClaim(new Claim(ClaimTypes.Role, role));
Console.WriteLine(String.Empty);
Console.WriteLine("All Claims associated with the GenericIdentity after explicitly adding role Claims:");
foreach (var claim in identity.Claims)
Console.WriteLine(claim);
Console.WriteLine(String.Empty);
Console.WriteLine("Complete");