using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Security;
using System.Security.Principal;
using System.Security.Permissions;
namespace TestGenericIdentity
{
class Program
{
private static string user1 = "ItsMe";
private static string user2 = "Itsyou";
static void Main(string[] args)
{
IIdentity genericIdentity = new GenericIdentity(user1,"MyAuthenticationType");
string[] roles = { "Manager", "WebDev" };
GenericPrincipal genericPrincipal = new GenericPrincipal(genericIdentity, roles);
Thread.CurrentPrincipal = genericPrincipal;
SomeMethod();
Console.ReadKey();
}
[PrincipalPermission(SecurityAction.Demand, Role = @"Manager")]
private static void SomeMethod()
{
IPrincipal principal = Thread.CurrentPrincipal;
if (principal.Identity.Name.Equals(user1))
{
Console.WriteLine("Hello me!");
}
else if (principal.Identity.Name.Equals("ItsYou"))
{
Console.WriteLine("Hello you!");
}
}
}
}