Попробуйте это так, если у вас есть доступ к UserManager:
UserManager.FindByName(Context.User.Identity.GetUserName()).Roles
Или, если у вас есть доступ к любой основе идентификации пользователя, вы должны быть в состоянии получить роль также, как это:
AppUser.Roles;
Или поиск любого идентификатора пользователя с определенным именем и получить его роли:
UserManager.FindByName("Name").Roles;
Я использую Identi ти 2,0
UPDATE:
Так что если у вас есть UserManager доступа и RoleManager в коде мастер-страницы, вы можете написать метод, который получает роли пользователей, как это:
public List<string> GetUserRoles(string username)
{
List<string> ListOfRoleNames = new List<string>();
var ListOfRoleIds = UserManager.FindByName(username).Roles.Select(x => x.RoleId).ToList();
foreach(string id in ListOfRoleIds)
{
string rolename = RoleManager.FindById(id).Name;
ListOfRoleNames.Add(rolename);
}
return ListOfRoleNames;
}
Тогда это до вас как вы это называете в своем представлении или заполняете эти роли пользователю во время загрузки страницы.
При входе пользователя в создании своей идентичности - так или иначе - когда это будет сделано, вы также должны кода в роли. Я считаю, что это метод расширения. Они - методы расширения, потому что чтение из материала Identity может быть кошмаром. –