Аутентификация веб - форм-перехват события автоматического тайм-аута
Мне нужно перехватить событие тайм-аута веб-форм, чтобы запустить свой собственный код.
Как это сделать?
Что я уже пробовал:
У меня есть веб-сайт, использующий аутентификацию форм для входа пользователей в систему.
Все это работает хорошо, но я хочу включить возможность отклонить вход в систему, если пользователь уже вошел в систему. т. е. отклонить одновременных подключений от 2 ПК.
Для этого я добавил столбец "LoggedIn" в таблицу SQL aspnet_Users.
Событие asp:Login 'LoginUser_LoggedIn' записывает 1 в столбец LoggedIn, и дальнейшие попытки входа проверяют это значение, прежде чем разрешить доступ.
Когда пользователь выходит из системы, событие asp:LoginView 'HeadLoginStatus_LoggedOut' записывает 0 в таблицу, чтобы отменить вход в систему.
Как я уже сказал, Все это прекрасно работает.
Проблема, с которой я столкнулся, заключается в том, что когда срабатывает автоматический тайм-аут форм, очевидно, таблица не обновляется, чтобы отразить выход из системы. Мне нужно перехватить событие тайм-аута форм, чтобы обновить таблицу пользователей.
Как же так?
Вот код формы из файла web.config
<authentication mode="Forms"> <forms name=".ASPXAUTH" loginUrl="~/Account/Login.aspx" protection="All" timeout="240" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="Default.aspx" cookieless="UseDeviceProfile" enableCrossAppRedirects="false" /> </authentication>