現在有這樣的功能需求:
小程式和APP兩種同樣的軟體,要實作以下登陸限制需求:
1、同一臺手機,小程式和APP用不同賬號可以同時登陸(這是一定可以的)
2、同一臺手機,小程式和APP用同一賬號可以同時登陸
3、不同的手機,同一個賬號不能同時登陸,手機A用 賬號1 登陸后,再將手機B用 賬號1 登陸,那么手機A將被下線
過濾器中目前是這樣做的:
判斷token(token是登陸成功后,存放到redis中的)
現在的問題是:
1、同一臺手機,小程式和APP同時用同一賬號登陸,則前一個登陸的就會被下線(因為token不一致)
uj5u.com熱心網友回復:
我現在是提出這樣一個需求:1、讓移動端IOS或者android,看能否獲取到機器的一個唯一標識
2、這個標識不受wifi,移動網路因素會變化
3、能否有這個唯一標識呢?
求大神請教。
uj5u.com熱心網友回復:
現在前端iOS反饋,如果WiFi和移動網路切換了,可能Mac地址會發生改變。有無大神解答????uj5u.com熱心網友回復:

沒有大神來回答。溜了溜了。這個太尷尬了
uj5u.com熱心網友回復:
我也想知道有什么好辦法,因為涉及到微信小程式能獲取到的設備資訊簡直少的可憐1、同一臺手機,小程式和APP用不同賬號可以同時登陸(這是一定可以的)
2、同一臺手機,小程式和APP用同一賬號可以同時登陸:
app可以獲取到的資訊很多,如何用小程式去確認是同一個設備?
假設用戶先用app登錄:
1>登錄請求后判斷是否能獲取到一個檔案路徑
2>假設回傳路徑地址,表示之前在某個app,或者小程式登錄過那么去尋找這個檔案,假設能找到表示是在同一臺手機
假設回傳空,表示之前沒有任何登錄操作,那么創建一個檔案保存在本機,并將保存的位置和名字(名字可隨機)告訴服務器
3>然后用戶登錄小程式,請求登錄獲取檔案位置和名字,根據這些資訊去找這個檔案,如果找到就說明是在同一臺手機,就讓他登錄
3、不同的手機,同一個賬號不能同時登陸,手機A用 賬號1 登陸后,再將手機B用 賬號1 登陸,那么手機A將被下線:
同理假設a、b兩臺手機:
用戶1登錄a設備,創建檔案
用戶1登錄b設備小程式,尋找檔案找不到就表示是不同的手機
用wifi和網路的mac地址隨機性太大,根本不能作為標識
關鍵點在于ios、安卓、小程式,同時能操作的東西
如果從獲取標識入手,那小程式獲取不到設備大部分資訊就能讓你奔潰
你也可以考慮session、cookies
以上我也沒試過,只是提出一種思路,可能也不可行,因為我也沒做過包含小程式登錄的判斷,假如沒有小程式登錄的判斷話,那就有很多方法做了
uj5u.com熱心網友回復:
如果找到好辦法!希望你能貼出來,給我參考一下,漲漲姿勢
uj5u.com熱心網友回復:
1,是的,現在前端那邊就反饋,無論是IP,MAC地址,都可能會隨wifi和移動網路改變。所以反饋做起來很艱難。
2,現在僅僅是無論是小程式 or APP,都會傳一個token過來,然后進行比較。導致同一臺手機,小程式和APP就會產生前一個登陸了,后一個再登陸,就把前一個給下線了。(多臺手機更不用說了)
因此還在找方法。
uj5u.com熱心網友回復:
那你可以試試,我想的那個辦法!你這種包含小程式的 比較難,可以挑戰一下
uj5u.com熱心網友回復:
說到底就是獲取類似uuid的問題,現在沒有完美的辦法。uj5u.com熱心網友回復:
有沒可能啟動的時候生成一個唯一ID,存盤到一個公共目錄訪問,沒做過小程式,不知道小程式是否可以訪問存盤目錄uj5u.com熱心網友回復:
其實就是設備唯一標示的問題,不能做到理論上的絕對UUID,但可以應用絕大多數的場景。一篇文章解決你的問題:
iOS獲取設備的唯一標識最好的方法
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/140264.html
標籤:iOS
