asp. net отслеживание идентификаторов пользователей открытых сессий - PullRequest
0 голосов
/ 03 апреля 2020

У нас есть веб-приложение, созданное с ядром asp. net, net ядро ​​3.1, angular, которое использует asp. net идентификатор ядра для управления аутентификацией пользователей. Нам необходимо реализовать следующий сценарий:

"Если пользователь A вошел в систему (это открытый сеанс), а пользователь B вошел в систему с теми же учетными данными (это 2-й параллельный сеанс) после пользователя B передает MFA, мы отправим электронное письмо на адрес электронной почты этого клиента, чтобы уведомить его, что кто-то еще только что вошел в систему. Мы НЕ закончим сеанс для пользователя A. "

Наша текущая реализация использует ASP. Net удостоверение личности для проверки подлинности пользователей, чьи билеты проверки подлинности хранятся в файлах cookie. Поскольку билеты проверки подлинности хранятся в файлах cookie, сеанс основан на браузере, поэтому в этой реализации невозможно отследить, вошел ли пользователь в систему с текущим открытым сеансом.

Я склонялся к использованию пользовательского хранилища. для хранения аутентификационных билетов на стороне сервера с помощью либо базы данных / redis, а затем отслеживания истечения срока действия токена, тем самым определяя существующий текущий сеанс. Думал ли я в правильном направлении или есть другие механизмы? Я хотел бы получить некоторые мысли и предложения.

1 Ответ

0 голосов
/ 09 апреля 2020

ASP. NET Идентификация ядра использует проверку подлинности Cook ie. Это означает, что когда пользователь B входит в ваше приложение, приложение не знает, активен ли пользователь A, только в следующий раз, когда пользователь A отправит запрос приложению cook ie, приложение сможет проверить, активен ли пользователь A (срок действия билета для аутентификации не истек ) и создать ответ по электронной почте. Если пользователь A не отправляет запрос на сервер, сервер не будет знать состояние пользователя A, поскольку cook ie отправляется только с HTTP-запросом.

Вы можете использовать asp. net основной сигнализатор , который позволяет коду на стороне сервера мгновенно доставлять контент sh клиентам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...