[英]Limit Only One Session Per User In ASP.NET Mvc 4
我正在開發一個Web應用程序,在該應用程序中,我想確保該網站一次僅允許每個用戶一次登錄。 當用戶登錄時我正在更新表列islogged = 1當注銷時我正在更新islogged = 0但問題是用戶會話超時或用戶關閉瀏覽器時我無法捕獲此事件。我正在使用sqlserver狀態來存儲會話,因此Session_End在此狀態下未觸發事件。 它僅在InProc State中起作用。 在瀏覽器關閉事件中,我也嘗試過onunload事件。 但也會在關閉的標簽頁上觸發此事件。 無法區分標簽頁關閉和瀏覽器關閉。 我只需要一個並發用戶登錄。 還有其他方法可以實現這一目標。
我正在使用此代碼捕獲瀏覽器關閉事件。
<body class="fixed-top" onclick="clicked=true;" 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..."); }
});
}
或者,您可以將存儲會話ID與當前登錄狀態一起存儲為DB或True。 當用戶點擊時,僅檢查登錄標志是否為真並采取所需的操作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.