關於B S架構下,如何讓同一賬號不能多次登入

2021-05-26 07:38:54 字數 590 閱讀 7377

這個話題網上有了很多種做法,資料庫裡設欄位、session記錄等。但沒有能完美解決問題的,問題關鍵在於網頁關閉時如何使其登入狀態為null,強制關閉瀏覽器,截任務管理器執行緒、意外客戶端斷電等,無法捕捉。

可以使用頁面重新整理向伺服器發請求?伺服器負荷會不會高?

另外我使用的是iframe框架,怎麼進行定時重新整理,誰有完整的**(包括登入時設定無法重複登入,頁面定時重新整理,瀏覽器關閉時置登入狀態為null)

我最近發現一些網頁遊戲,一旦你新登入了,那麼老的會彈出視窗【您已經在其它地點登入,本頁面將自動退出】的提示。

基於這個方法,我認為不要在如何不讓人重複登入上下功夫了,畢竟b/s用的http協議是無狀態的,非持久的鏈結。我們可以考慮,讓新登入的把以前同乙個帳號登入的頂下去,讓其無法進行任何操作即可以實現同樣的效果:乙個系統裡,同乙個帳號只有乙個有效登入。

具體做法比較簡單:

1 登入時,生成乙個唯一的標識,然後和使用者名稱關聯。 標識儲存到session或者cookie裡面,用於下次訪問。

2 下次訪問時,判斷標識與使用者名稱關聯的是否一樣,如果不一樣則判斷重複登入了,本session自動登出。

就這麼簡單。你可以重複登入,但你以前登入的無法做任何操作。

如何在同一臺電腦上使用2個github賬號

如果你想在一台電腦上使用兩個github賬號 比如私人賬號和工作用賬號 這個時候怎麼指定push到哪個賬號的test倉庫上去呢 解決方案是兩套key,再寫個配置檔案,注意生成兩個key時,不要隨便輸入enter鍵就就不會覆蓋掉老的兩個key 假設你已經擁有私有賬號且已經ok,現在想使用另乙個工作用賬...

如何在同一臺電腦上使用兩個github賬戶

場景 最近在使用github的時候,有這樣的乙個需求,就是一台電腦上登入兩個github賬號,並上傳專案和更新自己的 大家都知道需要給該賬號新增乙個ssh key才能訪問,參考 具體設定 當然如果你在多台機器使用乙個賬戶,你可以為該賬戶新增多個ssh key。由於github是使用ssh key的f...

如何讓多執行緒同一時刻併發執行

使用場景 需要在本機試試自己的介面在某個時間訪問可以被執行的頻率 嚴格意義上來說,不算同一時刻,因為多執行緒執行也是上下文切換的 其實你想找的是某個時間範圍 如一秒內 你的介面呼叫頻率 下單,加購,儲存資料 下面的 可以參考要點第一步 定義執行緒 public class runnabledemo ...