public static void Main()
Console.WriteLine("Without authorization:");
(i,u) => { Console.WriteLine("Alpha " + i); return true; },
(i,u) => { Console.WriteLine("Beta " + i); return true; }
Console.WriteLine("Rockstar activity:");
new Authorizer("rockstar").ActionToDo,
(i,u) => { Console.WriteLine("Alpha " + i); return true; },
(i,u) => { Console.WriteLine("Beta " + i); return true; }
Console.WriteLine("Guest activity:");
new Authorizer("guest").ActionToDo,
(i,u) => { Console.WriteLine("Alpha " + i); return true; },
(i,u) => { Console.WriteLine("Beta " + i); return true; }
public static void DoSomething(params Func<int, string, bool>[] actions)
var basicAuthUser = "davegrohl";
for(int i = 0; i < actions.Length; ++i)
bool okToContinue = a(new Random().Next(10), basicAuthUser);
public string RoleAllowed { get; set; }
public Authorizer(string roleAllowed)
this.RoleAllowed = roleAllowed;
string GetRole(string basicAuthUser)
public bool ActionToDo(int i, string basicAuthUser)
var role = this.GetRole(basicAuthUser);
return role == this.RoleAllowed;