2013-11-20 17 views
0

我有一個Web應用程序,用戶首次登錄以查看頁面。我的任務被卡住了,如下所示。如果在另一個系統中登錄,則從一個系統註銷用戶

如果用戶從系統A登錄並且沒有註銷,然後他從系統B登錄,我如何確保用戶在從系統B登錄時從系統A註銷?

我必須在我的數據庫中做什麼調整。我有日誌表,它保存用戶登錄時的記錄。

這可能嗎?

回答

1

登錄時只需記錄他的IP地址 - 如果當前IP與存儲的IP不同,請將其登出存儲的ID。

+0

這假設他們的IP是靜態的 - 可能是一個小型Intranet上的安全假設,幾乎肯定不會在互聯網上。我們不知道哪些是OPs情況(或哪個更接近他們的情況) –

+0

由於提供的信息量極少,這似乎是一種可行的策略。提供的其他解決方案(sessionID,GUID)也是可行的。我也注意到,OP沒有對任何建議詢問/提出意見:( – KevinDTimm

+0

我認爲IP方法太容易出錯,考慮到替代方案和涉及的工作.OP,或許還需要安全性,以至於你即使在同一臺計算機上,也無法一次處理兩個地方的相同數據。 –

1

你沒有多說這個結構。但我想你有一個「用戶」表。

在那裏你可以有一個會話ID,如果有變化,那麼你已經登錄,在另一個地方。因此,如果您登錄到「系統A」,您將獲得一個SessionID,您可以隨時查看每次通話或每次通話。

然後,您登錄到「系統B」,創建一個新的會話ID並應用到用戶表。

然後,「系統A」會在某個時刻查找它,並且看到它與它所瞭解的不一樣,並告訴用戶再次登錄,或者只是強制退出登錄。

1

我能想到的將是最簡單的方法 -

1)在用戶成功登錄,系統會創建一個GUID並保存它裏面用戶的SessionState的,以及在用戶的表。

2)當用戶請求頁面時,將用戶的SessionState值與用戶表中的值進行比較。

3)如果不相同,則重定向到登錄頁面。

相關問題