У нас есть веб-приложение, созданное с ядром asp. net, net ядро 3.1, angular, которое использует asp. net идентификатор ядра для управления аутентификацией пользователей. Нам необходимо реализовать следующий сценарий:
"Если пользователь A вошел в систему (это открытый сеанс), а пользователь B вошел в систему с теми же учетными данными (это 2-й параллельный сеанс) после пользователя B передает MFA, мы отправим электронное письмо на адрес электронной почты этого клиента, чтобы уведомить его, что кто-то еще только что вошел в систему. Мы НЕ закончим сеанс для пользователя A. "
Наша текущая реализация использует ASP. Net удостоверение личности для проверки подлинности пользователей, чьи билеты проверки подлинности хранятся в файлах cookie. Поскольку билеты проверки подлинности хранятся в файлах cookie, сеанс основан на браузере, поэтому в этой реализации невозможно отследить, вошел ли пользователь в систему с текущим открытым сеансом.
Я склонялся к использованию пользовательского хранилища. для хранения аутентификационных билетов на стороне сервера с помощью либо базы данных / redis, а затем отслеживания истечения срока действия токена, тем самым определяя существующий текущий сеанс. Думал ли я в правильном направлении или есть другие механизмы? Я хотел бы получить некоторые мысли и предложения.