java - 如何強制app端強制下線?
問題描述
例如 web 端 刪除了 正在app 端登陸的用戶,怎樣能讓app 端用戶強制下線,web 端用什么方式可以達到這個效果?javaweb
問題解答
回答1:舉個例子: app需要token登錄,推送消息,app接收推送消息后代碼執(zhí)行清空token行為導(dǎo)致token失效,強制退出
回答2:這個是需要App和后臺一起處理的,首先在app端寫好token失效App的處理行為,是跳轉(zhuǎn)到登錄界面,是殺死app還是刪除一些本地文件。接著是如何讓app獲取token失效的信息,一種是樓上說的后臺推送消息,另一種是在后臺改變token信息,app再次訪問后臺發(fā)現(xiàn)token失效。對后臺而言,前者是主動,后者是被動。假如要求App被立刻通知到,顯然是前者,假如對通知的時間不敏感,可使用后者。一般來說,用戶操作app對網(wǎng)絡(luò)的訪問還是很密集,使用后者簡單方便,時間延遲也沒那么大。
回答3:要服務(wù)端控制,在app調(diào)用接口時明確返回用戶下線了,然后app退出到登錄界面?
回答4:可以使用socket.io 有了長連接,雙向通信,服務(wù)端給客戶端發(fā)消息,客戶端收到消息,退出到登錄界面
回答5:首先要搞清楚你任務(wù)的app下線的含義。1.是直接強制app回到登錄界面,這次的登錄失效。2.app頁面保留,但是繼續(xù)有任何操作或者說是與網(wǎng)絡(luò)相關(guān)的操作時,使之下線。第一種情況比較復(fù)雜,因為你是立即執(zhí)行,那么最合適的就是使用推送,web端推送給特定用戶,而app端本身就已經(jīng)寫好特定推送的相應(yīng)行為就可以了。第二種情況的話,只需要你在web端去讓你的token驗證失效就可以了,正常情況每一個用戶的token,都會在web端保留一個失效時間,你只需要讓這個失效時間立即失效,那么你的app端有相應(yīng)的請求處理,當(dāng)token失效后,會調(diào)到登錄頁面重新登錄
回答6:一般沒有必要實時下線。在用戶操作app,app向服務(wù)器發(fā)出請求時,服務(wù)器返回相應(yīng)信息,然后app再反應(yīng)退出即可。
相關(guān)文章:
1. python - scrapy 如何組合2個不同頁面的數(shù)據(jù),一并存儲2. mysql優(yōu)化 - mysql 一張表如果不能確保字段列長度一致,是不是就不需要用到char。3. node.js - mysql如何通過knex查詢今天和七天內(nèi)的匯總數(shù)據(jù)4. javascript - 用jsonp抓取qq音樂總是說回調(diào)函數(shù)沒有定義5. javascript - 新浪微博網(wǎng)頁版的字?jǐn)?shù)限制是怎么做的6. sublime可以用其他編譯器替換嗎?7. python2.7 - python 函數(shù)或者類 代碼的執(zhí)行順序8. 使用python中的pandas求每個值占該列的比例9. python - 多態(tài)調(diào)用方法時卻顯示bound method...10. mysql 怎么做到update只更新一行數(shù)據(jù)?
