Как решить эту проблему сеанса в ASP.NET, VB.NET?
Имеются следующие требования:
Когда авторизованный пользователь входит в систему, этот пользователь не можетвойти в систему с другого компьютера или в другом браузере, отличном от того, который использует данный пользователь, прямо сейчас.
Мы применили средство защиты: Мы сохранили «Is_Loggedin» как столбец с типом данных «бит» в mst_vendorимя таблицы.Когда пользователь входит в систему, мы устанавливаем флаг Is_Loggedin в значение «1», и каждый раз, когда кто-то пытается войти в систему с использованием этой учетной записи, система показывает ошибку «Пользователь уже вошел в систему».
Когда пользователь выходит из системы, он становится равным «0» при вызове процедуры выхода из системы, как только пользователь нажимает кнопку выхода из системы.
Сценарий проблемы:
Когда пользователь закрывает браузер, флаг остается прежним, то есть «1».
Когда питание отключается, оно остается таким же, как «1».
Если время ожидания сеанса после предварительно определенного значения остается неизменным.
Могут быть и другие сценарии, кроме этого.
Есть ли способ сохранить эту внутреннюю маркировку для статуса входа пользователя с помощью объекта приложения?
Это может повысить эффективность системы, а также исключить вышеуказанные проблемные сценарии.