我正在開發一個ASP.net站點(使用.NET 4,EF,jQuery Ajax,SQL Server 2008 R2)。在這個網站我想阻止multi-login
。我的意思是,如果您登錄到網站,則無法從其他瀏覽器或計算機再次登錄網站,因爲您已經登錄。如何防止用戶登錄到我的網站多個會話?
我廠的想法和發展它在我的網站,但它有一個問題,那是因爲,我決定在這裏問一個問題
我有這樣一個SQL Server表問題:
Id [int] NOT NULL IDENTITY(1,1) //PK
UserId [int] NOT NULL //Relation to User table
Key [nvarchar](50) NOT NULL //Unique
當用戶登錄到該網站,我行插入這個表是這樣的:
UserId = The Id of logged in user
Key = Session.SessionId
,也沒有從該表中執行WH刪除記錄代碼EN:
- 用戶嘗試從其賬戶
- 上
Session_End
事件global.asax
一切以註銷工作的正確和完美的,只是:
問題:當用戶關閉瀏覽器,那行不會被刪除(我想當他關閉瀏覽器時,它在該表中的行將在Session_End
事件中刪除,但它沒有!!!)
我該怎麼辦?任何解決這個問題的方法?我應該改變策略還是有解決方案?
對不起,我的語法不好。我用英語
是新的任何想法可能是有用的
問候
Foroughi
UPDATE1:我不使用ASP 會員和管理我的用戶自己
UPDATE2:我用InProc月我的會話狀態爲20分鐘超時
當用戶進行新的登錄時,註銷現有會話不是更容易嗎?當用戶忘記註銷不同的位置(例如家庭/工作)時,這也更實用。 – 2012-02-09 08:14:55
@marc_s感謝花花公子和遺憾他們 – 2012-02-09 08:16:23
@AliForoughi:沒問題 - 問題依然清晰完全可以理解 – 2012-02-09 08:18:43