У меня есть контроллер, который защищен атрибутом [Authorize]
.AuthorizeAttribute с идентификатором ASP.NET
Это работает очень хорошо (меня отправляют обратно в систему, если я не вошел в систему), но я хочу добавить некоторые роли в этот атрибут, я прочитал, что его можно сделать примерно как [Authorize(Roles = "Customer"]
, но когда я это сделаю это мгновенно отправляется на страницу входа в мое приложение?
Это Roles
переопределить работу с новой идентификацией ASP.NET? На моем создании пользователя я добавляю от пользователя к следующему коду:
var user = new ApplicationUser {UserName = model.Username};
var result = UserManager.Create(user, model.Password);
if (result.Succeeded)
{
UserManager.AddToRole(user.Id, "Customer");
SignIn(user, false);
return RedirectToAction("Done");
}
И согласно базе данных пользователя находится в этой роли. Почему это не работает? У меня отсутствует какая-либо конфигурация?
Вы уверены, что пользователь находится в роли клиента? – user1477388
Да, клиент исходит из константы Я использую – janhartmann
Я имею в виду, когда вы идете в Project -> Конфигурация ASP.NET, перейдите на вкладку безопасности и нажмите «Создать/Управление ролями». Проверьте свою роль. Затем перейдите к пользователям и проверьте для своего пользователя. Обязательно ознакомьтесь с частью 7 демонстрации музыки для Microsoft http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-7 – user1477388