Ограничьте только один сеанс для каждого пользователя в ASP.NET Mvc 4
Я работаю над одним веб-приложением, в котором я хочу убедиться, что веб-сайт разрешает только один вход для каждого пользователя одновременно.
при входе пользователя в систему я обновляю столбец таблицы islogged=1 при выходе из системы я обновляю islogged =0
но проблема заключается в том, что когда пользователь тайм-аут сеанса или если пользователь закрывает браузер, я не могу захватить эти события.я использую состояние sqlserver для хранения сеансов, поэтому событие Session_End не запускается в этом состоянии .
он работает только в состоянии InProc. а также в событии закрытия браузера я попробовал событие onunload. но это событие срабатывает и на закрытой вкладке. не в состоянии различить закрытие вкладки и закрытие браузера.
мне нужен только один одновременный вход пользователя. есть ли другой способ достичь этого?
я использую этот код для захвата события закрытия браузера.
&ЛТ;класс тела="исправлено-топ" функция onclick="нажата=истина;" метода onunload="CheckBrowser()"&ГТ;
<script type="text/javascript"> var clicked = false; // var xmlHttp // var browser = navigator.appName; function CheckBrowser() { debugger // var browserClose = isUserClickedCloseButton(); if (clicked == false) { $.ajax({ url: "@Url.Content("~/Account/LogOff")", type: 'Post', success: function (data) { }, error: function () { alert("Error On Logut..."); } }); }