я впервые реализую личность и у меня возникают проблемы с ролями.Я создал две роли (Пользователь и Суперпользователь).При запуске я определяю политику (Basic, Super).
В базе данных пользователь имеет правильную роль, но когда я делаю User.IsInRole ("Пользователь"), я получаю false.
Кроме того, после входа в атрибут класса [Authorize] происходит перенаправление на вход.
Создается файл cookie, поэтому он регистрируется в порядке.
Isесть ли какая-то другая часть, которую мне нужно настроить?
opt.Authorization(optn =>
{
optn.AddPolicy("Basic", p =>
{
p.RequireRole("User");
});
optn.AddPolicy("Super", p =>
{
p.RequireRole("User");
p.RequireRole("SuperUser");
});
});
[HttpPost]
public async Task<IActionResult> SignIn([FromForm] string email, [FromForm] string password)
{
var tmp = await this.SignInManager.PasswordSignInAsync(email, password, false, false);
string url = tmp.Succeeded ? Url.Action("Index", "Secure") : Url.Action("Index", "Assets", new { Error = 1 });
return RedirectPermanent(url);
}
Обновление Я вызывал app.UseAuthentication () в неправильном порядке.При запуске UseAuthentication до UseMVC это работает