最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

多端登錄如何實(shí)現(xiàn)踢人下線需求實(shí)現(xiàn)

 更新時間:2023年05月10日 17:27:37   作者:我是小趴菜  
這篇文章主要為大家介紹了多端登錄如何實(shí)現(xiàn)踢人下線的需求實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1:項(xiàng)目背景

 一個項(xiàng)目往往會有小程序,APP,PC等多端訪問,比如淘寶,京東等。這時候就會有一些踢人下線的需求,比如你在一臺電腦登錄了PC端,這時候你再另外一臺電腦也登錄PC端,這時候之前在另外一臺電腦上就會被強(qiáng)制下線。

或者你登錄了PC端,這時候你登陸了APP或者小程序,這時候PC端的賬號也會被強(qiáng)制下線

2:項(xiàng)目只有PC端

假設(shè)我們現(xiàn)在的項(xiàng)目只有PC端,沒有小程序或者APP,那么這時候就是很簡單了,用戶的sessin(也就是所謂的Token)一般都是存儲在redis中,session中包括用戶ID等一些信息,當(dāng)然還有一個最重要的就是登錄的ip地址。

1:用戶在登錄的時候,從redis中獲取用戶session,如果沒有就可以直接登錄了

2:用戶在另外一臺電腦登錄,從redis中獲取到用戶session,這時候用戶session是有的,說明用戶之前已經(jīng)登錄過了

3:這時候從用戶session中獲取IP,判斷二者的ip是不是相同,如果不同,這時候就要發(fā)送一個通知給客戶端,讓另外一臺設(shè)備登錄的賬號強(qiáng)制下線即可

3:項(xiàng)目有PC端和APP端和小程序端

當(dāng)你的應(yīng)用有PC端和APP端的時候,我們用戶的session如果還是只存一個ip地址,那明顯就是不夠的,因?yàn)楹芏嗲闆r下,我們PC端和APP端是可以同時登錄的,比如淘寶,京東等都是,也就是所謂的雙端登錄

這時候就會有多種情況

單端登錄:PC端,APP端,小程序只能有一端登錄

雙端登錄:允許其中二個端登錄

三端登錄:三個端都可以同時登錄

對于三端可以同時登錄就很簡單,但是現(xiàn)在有個限制,就是app端只能登錄一次,不能同時登錄,也就是我一個手機(jī)登錄了APP,另外一個手機(jī)登錄的話,之前登錄的APP端就要強(qiáng)制下線

所以我們的用戶session存儲的格式如下

{
   userId:用戶的id
   clientType:PC端,小程序端,APP端
   imei:就是設(shè)備的唯一編號(對于PC端這個值就是ip地址,其余的就是手機(jī)設(shè)備的一個唯一編號)
}

單端登錄

首先我們要知道,用戶登錄不同的設(shè)備那么用戶session是不一樣的。對于單端登錄,那么我們可以拿到用戶的所有的session,然后根據(jù)clientType和imei號來強(qiáng)制將其它端的用戶session刪除掉,然后通知客戶端強(qiáng)制下線

雙端登錄

同樣拿到所有用戶的session,然后根據(jù)自己的業(yè)務(wù)需求來判定哪一端需要強(qiáng)制下線,比如我們現(xiàn)在已經(jīng)登錄了PC端和APP端,這時候登錄小程序,現(xiàn)在要讓APP端的強(qiáng)制下線。

這時候登錄之后獲取用戶所有的session,這時候會有二個用戶session,首先拿到clientType = APP的session,然后來通知客戶端這個端需要強(qiáng)制下線。

如果這時候我登錄了PC端和一個APP端,這時候我用另外一臺手機(jī)登錄APP端,那么之前那臺手機(jī)上登錄的APP端就要被強(qiáng)制下線,這個時候僅通過clientType是不行的,因?yàn)槲叶€手機(jī)登錄的clientType都是APP端。所以這時候就要根據(jù)imei號來判斷了。因?yàn)椴煌氖謾C(jī)imei號是不一樣的。

這時候我拿到用戶所有的session

  PC端的session
  sessionA{
      userId: 1,
      clientType: PC,
      imei: "123"
  }
  APP端的session
  sessionA{
      userId: 1,
      clientType: APP,
      imei: "12345"
  }

這時候我從另外一臺手機(jī)登錄的時候,生成的session應(yīng)該是這樣的

 APP端的session
  sessionA{
      userId: 1,
      clientType: APP,
      imei: "1234567"
  }

我發(fā)現(xiàn)同一個clientType的session已經(jīng)有了,這時候我要判斷imei號是否一樣,imei一樣說明是同一臺設(shè)備,不同說明不是同一臺設(shè)備,我們只需要把對應(yīng)設(shè)備的賬號強(qiáng)制下線即可了

總結(jié)

不管是單端登錄,雙端登錄還是多端登錄,我們都是根據(jù)用戶session來判斷。只要根據(jù)clientType和imei號來就可以滿足我們大部分的踢人下線需求了。

以上就是多端登錄如何實(shí)現(xiàn)踢人下線需求實(shí)現(xiàn)的詳細(xì)內(nèi)容,更多關(guān)于多端登錄踢人下線的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vscode單擊新文件時覆蓋舊文件的解決方法

    vscode單擊新文件時覆蓋舊文件的解決方法

    本文是給大家分享的作者在使用vscoe過程中遇到的一個小問題的解決方法,就是取消vscode單擊新文件時覆蓋舊文件,希望對大家能夠有所幫助
    2020-02-02
  • Git使用小技巧之回滾與撤銷詳解

    Git使用小技巧之回滾與撤銷詳解

    這篇文章主要給大家介紹了關(guān)于Git使用小技巧之回滾與撤銷的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Git具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Postman返回中文亂碼的解決方案

    Postman返回中文亂碼的解決方案

    使用postman發(fā)出請求,返回值含有中文字符串,卻發(fā)現(xiàn)中文被亂碼,本文就詳細(xì)的介紹一下Postman返回亂碼的解決方案,感興趣的可以了解一下
    2022-01-01
  • 編寫高質(zhì)量代碼的30條黃金守則(首選隱式類型轉(zhuǎn)換)

    編寫高質(zhì)量代碼的30條黃金守則(首選隱式類型轉(zhuǎn)換)

    這篇文章主要介紹了編寫高質(zhì)量代碼的30條黃金守則(首選隱式類型轉(zhuǎn)換),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • vscode使用git的配置教程

    vscode使用git的配置教程

    在vscode中使用Git可以幫助我們更方便地管理代碼,進(jìn)行版本控制,下面通過本文給大家介紹vscode使用git的配置教程,感興趣的朋友一起看看吧
    2024-08-08
  • 在IDEA(2020.2)中配置Git及使用Git的圖文詳解

    在IDEA(2020.2)中配置Git及使用Git的圖文詳解

    這篇文章主要介紹了在IDEA(2020.2)中配置Git及使用Git的圖文詳解,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 在MAUI中使用Masa?Blazor的方法

    在MAUI中使用Masa?Blazor的方法

    這篇文章主要介紹了在MAUI中使用Masa?Blazor,探索一下如何在MAUI中使用Masa?Blazor,開頭介紹了什么是MAUI,需要的朋友可以參考下
    2022-04-04
  • Git回退到指定版本三種方法及常見的錯誤

    Git回退到指定版本三種方法及常見的錯誤

    在Git中回退到指定版本并不是刪除或撤銷之前的提交,而是創(chuàng)建一個新的提交,該提交包含指定版本的內(nèi)容,這篇文章主要給大家介紹了關(guān)于Git回退到指定版本三種方法及常見的錯誤,需要的朋友可以參考下
    2024-03-03
  • 安全校驗(yàn)Session驗(yàn)證碼并避免繞開驗(yàn)證碼攻擊

    安全校驗(yàn)Session驗(yàn)證碼并避免繞開驗(yàn)證碼攻擊

    校驗(yàn)驗(yàn)證碼的Session是否為空或者校驗(yàn)用戶輸入的驗(yàn)證碼是否合法,構(gòu)造安全表單的關(guān)鍵就是永遠(yuǎn)不要相信用戶的輸入
    2012-01-01
  • vsCode中配置setings.json的技巧

    vsCode中配置setings.json的技巧

    本文給大家分享的是一個在vsCode中配置好的setings.json的樣例,可以給大家一個參考,有需要的小伙伴可以來看下
    2020-01-01

最新評論

遵义县| 株洲市| 沙河市| 榆林市| 上饶市| 嘉义市| 砀山县| 永泰县| 汝南县| 庄河市| 衡南县| 平定县| 福建省| 谷城县| 西藏| 敦化市| 淄博市| 汉源县| 渝中区| 邢台县| 南昌县| 开化县| 高邑县| 通海县| 安远县| 舟曲县| 汤原县| 红安县| 濮阳市| 苗栗市| 工布江达县| 监利县| 铜山县| 六盘水市| 新竹市| 嘉祥县| 宁阳县| 竹溪县| 电白县| 恩平市| 邹平县|