怎樣實(shí)現(xiàn)同一個(gè)賬戶同一時(shí)間只能在一個(gè)終端登錄

作者:風(fēng)柏楊
來(lái)源:CSDN
原文:https://blog.csdn.net/one_and_only4711/article/details/72577345

不少系統(tǒng)都希望實(shí)現(xiàn)同一個(gè)賬戶同一時(shí)間只能在一個(gè)地方登錄绸狐,如騰訊QQ,當(dāng)你的賬戶在另一個(gè)終端登錄后号杏,之前正在登錄訪問(wèn)的終端會(huì)被強(qiáng)制下線续室,這樣做的好處我認(rèn)為有兩點(diǎn):1)能提高系統(tǒng)/網(wǎng)站的安全性饲帅,比如說(shuō)如果你在操作過(guò)程中被擠下線了闻妓,你便能馬上察覺(jué)到賬戶和密碼已經(jīng)泄露岁钓,要馬上修改密碼或聯(lián)系管理員凍結(jié)賬戶狸捅;2)能減少系統(tǒng)的開(kāi)銷激涤,因?yàn)槊總€(gè)登錄的終端都需要耗費(fèi)服務(wù)器資源拟糕,登錄的用戶,Session占用的空間也會(huì)大些倦踢,如果賬戶做了只能在一個(gè)終端登錄后已卸,其他終端的登錄會(huì)話所占用的資源能及時(shí)得到釋放,有利于節(jié)省寶貴的服務(wù)器資源硼一,此外累澡,如果不做這個(gè)限制,有可能會(huì)被惡意攻擊的人利用這個(gè)問(wèn)題來(lái)消耗服務(wù)器資源般贼,這樣可能對(duì)服務(wù)器的性能產(chǎn)生很大的影響愧哟。

那怎樣才能實(shí)現(xiàn)單終端登錄限制呢?下面來(lái)介紹一下我的實(shí)現(xiàn)思路哼蛆,希望能幫助到有同樣需求的小伙伴蕊梧,有異議的朋友也歡迎留言交流。

先來(lái)看一個(gè)流程圖:

在賬戶表的基礎(chǔ)上腮介,我新建了一個(gè)賬戶account_session表肥矢,用來(lái)記錄登錄賬戶的account_id和最新一次登錄成功用戶的session_id,然后首先要修改登錄方法:每次登錄成功后叠洗,要將登錄用戶信息寫入Session的同時(shí)還要更新account_session表里相應(yīng)賬戶的session_id(當(dāng)然甘改,如果是第一次登錄時(shí),進(jìn)行的便是插入動(dòng)作)灭抑,然后要修改獲取當(dāng)前用戶信息的方法十艾,在里面要做兩重判斷,首先腾节,看當(dāng)前會(huì)話是否存在登錄用戶信息忘嫉,如果沒(méi)有荤牍,則肯定是未登錄,不再贅述庆冕,如果有康吵,還要再進(jìn)一步要用當(dāng)前會(huì)員里存的account_id去account_session表查詢最新的session_id,與當(dāng)前會(huì)員中的session_id作比較访递,如果是一致的晦嵌,說(shuō)明當(dāng)前會(huì)話是最新的會(huì)話,登錄狀態(tài)正常力九,如果不一致,說(shuō)明在當(dāng)前登錄會(huì)話創(chuàng)建后邑闺,被新的登錄會(huì)話覆蓋掉了跌前,當(dāng)前的登錄會(huì)話已經(jīng)失效,這時(shí)候陡舅,服務(wù)器應(yīng)該刪除當(dāng)前的登錄會(huì)話并返回提示給客戶端抵乓,至此,限制賬戶同一時(shí)間單終端登錄功能便實(shí)現(xiàn)了靶衍。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末灾炭,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子颅眶,更是在濱河造成了極大的恐慌蜈出,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涛酗,死亡現(xiàn)場(chǎng)離奇詭異铡原,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)商叹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門燕刻,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人剖笙,你說(shuō)我怎么就攤上這事卵洗。” “怎么了弥咪?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵过蹂,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我聚至,道長(zhǎng)榴啸,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任晚岭,我火速辦了婚禮鸥印,結(jié)果婚禮上勋功,老公的妹妹穿的比我還像新娘。我一直安慰自己库说,他們只是感情好狂鞋,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著潜的,像睡著了一般骚揍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上啰挪,一...
    開(kāi)封第一講書(shū)人閱讀 49,730評(píng)論 1 289
  • 那天信不,我揣著相機(jī)與錄音,去河邊找鬼亡呵。 笑死抽活,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的锰什。 我是一名探鬼主播下硕,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼汁胆!你這毒婦竟也來(lái)了梭姓?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤嫩码,失蹤者是張志新(化名)和其女友劉穎誉尖,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體铸题,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡释牺,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了回挽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片没咙。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖千劈,靈堂內(nèi)的尸體忽然破棺而出祭刚,到底是詐尸還是另有隱情,我是刑警寧澤墙牌,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布涡驮,位于F島的核電站,受9級(jí)特大地震影響喜滨,放射性物質(zhì)發(fā)生泄漏捉捅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一虽风、第九天 我趴在偏房一處隱蔽的房頂上張望棒口。 院中可真熱鬧寄月,春花似錦、人聲如沸无牵。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)茎毁。三九已至克懊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間七蜘,已是汗流浹背谭溉。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留橡卤,地道東北人扮念。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像蒜魄,于是被迫代替她去往敵國(guó)和親扔亥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子场躯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 點(diǎn)擊查看原文 Web SDK 開(kāi)發(fā)手冊(cè) SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個(gè)完善的 IM 系統(tǒng)...
    layjoy閱讀 13,692評(píng)論 0 15
  • 會(huì)話(Session)跟蹤是Web程序中常用的技術(shù)谈为,用來(lái)跟蹤用戶的整個(gè)會(huì)話。常用的會(huì)話跟蹤技術(shù)是Cookie與Se...
    chinariver閱讀 5,601評(píng)論 1 49
  • 4 創(chuàng)建一個(gè)社交網(wǎng)站 在上一章中踢关,你學(xué)習(xí)了如何創(chuàng)建站點(diǎn)地圖和訂閱伞鲫,并且為博客應(yīng)用構(gòu)建了一個(gè)搜索引擎。在這一章中签舞,你...
    lakerszhy閱讀 2,168評(píng)論 0 7
  • ORA-00001: 違反唯一約束條件 (.) 錯(cuò)誤說(shuō)明:當(dāng)在唯一索引所對(duì)應(yīng)的列上鍵入重復(fù)值時(shí)秕脓,會(huì)觸發(fā)此異常。 O...
    我想起個(gè)好名字閱讀 5,248評(píng)論 0 9
  • 在快節(jié)奏的現(xiàn)代社會(huì)里儒搭,如何更加有效率地生活成為人們追求的目標(biāo)吠架,有關(guān)時(shí)間管理的技巧也是五花八門,精彩紛呈搂鲫。不同于其它...
    思考的樂(lè)趣閱讀 169評(píng)論 0 0