@nordwind2013

Как кикнуть пользователя в ASP.NET Identity?

Суть такова. При блокировке юзера нужно его немедленно сделать неактивным. Блокировку реализовал, однако юзер сейчас должен сам совершить логаут, и после он уже не авторизуется. Однако это неприемлемо в моем случае. Уверен, что здесь есть те, кто с этим сталкивался. Спасибо, коллеги.
  • Вопрос задан
  • 709 просмотров
Решения вопроса 1
@kttotto
пофиг на чем писать
Есть несколько способов:
1) Если это asp.mvs, то переопределить атрибут Authorize, в ней делать проверку пользователя по какому то полю IsBlackList.
2) Если это так же asp.mvs, то наверняка Вы поле IsBlackList добавили в Claim, значит авторизацию можно делать на основе Claims и методы помеченные этим атрибутом, будут отсеивать заблокированных. Подробно тут.
3) Если это asp core, то все тоже самое делается на основе политик безопасности, примеры так же тут.
4) Но как по мне, то самый простой способ, это при блокировке менять роль пользователю и соответственно контроллеры должны быть помечены теми политиками, в которые не входит роль заблокированного. Этого должно хватить, после блокировки, первый же запрос проверит роль и переадресует на страницу логина.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mletov
Первое, что приходит на ум: при всех передвижениях по страницам проверять, есть ли пользователь в списке заблокированных, если есть - грохать у него на компе соответствующие куки либо напрямую, либо logout через API Identity.

Другой вопрос, как бы красиво это реализовать, чтобы не пихать в каждый экшен типа CheckUserDisable();
Может можно как-нибудь через атрибуты.

https://stackoverflow.com/questions/25878218/asp-n...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы