asp.net identity 2 требует особой претензии для входа - PullRequest
0 голосов
/ 11 февраля 2019

В MVC5 asp.net - есть ли способ разрешить вход пользователя только в том случае, если у пользователя есть конкретная заявка в базе данных пользователей?Я хотел бы назначить утверждение «CanLogin» пользователям в моей базе данных, которым разрешено входить в любой момент времени.Удалив заявку «CanLogin», я мог бы эффективно блокировать пользователей вне системы до дальнейшего уведомления.

Это должно сработать при первом входе в систему, а также при входе с использованием cookie на более позднем этапе, если пользовательпроверил "запомнить мой логин".

1 Ответ

0 голосов
/ 12 февраля 2019

Используя фильтр аутентификации, вы можете проверить свойство identity.claims, чтобы проверить, какие утверждения присутствуют в контексте.Претензии должны быть добавлены во время процесса входа в систему. Затем вы можете проверить, включен ли конкретный пользователь или нет.

Однако, если база данных пользователей поддерживается самостоятельно, вы можете просто установить флаг отключения и затем отклонить вход в систему.запрос, вместо того, чтобы возвращать такую ​​претензию.

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

...