Вместо создания новой переменной Session, как насчет использования существующего HttpContext.Current.User ? Это находится в пространстве имен System.Security.Principal.
У него есть массив ролей, которые вы можете заполнить, а затем проверить с помощью if (thisUser.IsInRole("admin"))
...
Только для наглядности, вот один из способов заполнения ролей пользователя, прошедшего аутентификацию вручную. В большинстве случаев у вас уже будет аутентифицированный пользователь.
System.Web.Security.FormsIdentity id = new FormsIdentity(new FormsAuthenticationTicket("dok", false, 30));
string[] roles = { "admin" };
HttpContext.Current.User = new System.Security.Principal.GenericPrincipal(id, roles);