Обновить членскую роль пользователя

Я использую asp.net MVC 5 identity 2.0. Администратор может изменить роль пользователя, но для его просмотра необходимо повторно войти в систему. Первой мыслью было зарегистрировать пользователя вручную, но мне это не удалось. После этого я подумал о динамически меняющейся роли пользователя или о чем-то еще. Не могли бы вы предоставить мне правильный путь? Я устанавливаю роль пользователя с помощью UserManager.AddToRolesAsync. Я пробовал много вещей, таких как:

var memberUser = Membership.GetUser(user.UserName.ToString());
if (memberUser.IsOnline)
{
        FormsAuthentication.SignOut();
}

или также попытаться очистить мои куки. Я не знаю, как я могу выйти из другого пользователя. Также я прочитал статьи, подобные этим

http://w3facility.org/question/mvc-5-addtorole-requires-logout-before-it-works/

Как принудительно распространять изменения ролей среди пользователей с ASP.NET Identity 2.0.1?

Как заставить пользователя выйти из системы, когда его / ее имя изменилось другим пользователем?

ASP.net Identity 2.0 Выйти из системы другого пользователя

1 ответ

Решение

Взгляните на ответ, предоставленный Hao Kung на этот пост, он точно описывает, как решить эту проблему с помощью SecurityStamp.

/questions/17778257/chto-takoe-interfejs-iusersecuritystampstoretuser-v-aspnet-identity/17778263#17778263

Таким образом, основная цель SecurityStamp - разрешить выход везде. Основная идея заключается в том, что всякий раз, когда что-то, связанное с безопасностью, изменяется у пользователя, например пароль, рекомендуется автоматически аннулировать любой существующий вход в файлы cookie, поэтому, если ваш пароль / учетная запись ранее была взломана, злоумышленник больше не имеет доступа.

В 2.0.0 мы добавили следующую конфигурацию, чтобы подключить метод OnValidateIdentity в CookieMiddleware для просмотра SecurityStamp и отклонения файлов cookie, когда они изменились. Он также автоматически обновляет заявки пользователя из базы данных каждый refreshInterval, если штамп не изменился (который заботится о таких вещах, как смена ролей и т. Д.)

Это должно помочь вам.

Другие вопросы по тегам