ASP. NET Core Identity 3.1: UserManager.RemoveFromRoleAsyn c всегда возвращает UserNotInRole - PullRequest
0 голосов
/ 19 апреля 2020

Я могу создавать роли с помощью диспетчера ролей и добавлять пользователя к роли с помощью UserManager.AddToRoleAsyn c Но при использовании метода UserManager.RemoveFromRoleAsyn c (пользователь, роль) , я всегда получаю сообщение об ошибке: UserNotInRole

enter image description here

  • Но при использовании UserManager.GetUsersInRoleAsyn c ("Администратор") , я получаю результаты. enter image description here

  • Но опять метод UserManager.IsInRoleAsyn c (пользователь, «Администратор»); вернуть false.

  • Затем, после проверки на профилировщике SQL, я заметил, что параметры, установленные для userId & roleid, противоположны во время оператора select UserInRole table enter image description here

Есть идеи, что вызывает это странное поведение? Я использую Identity.Core, версия = 3.1.3.0

Обновлен фрагмент кода

Моя таблица AspNetUserole

enter image description here

См. Изображение ниже, только методы IsInRoleAsyn c & RemoveFromRoleAsyn c get завершаются неудачно, другие методы получают результаты.

enter image description here

1 Ответ

1 голос
/ 20 апреля 2020

Похоже, ваши ключи для идентификации UserRole таблица настроена неправильно. Можно опубликовать фрагмент кода, где вы изменили таблицу IdentityUserRole ?

...