java - 如何強(qiáng)制app端強(qiáng)制下線?
問題描述
例如 web 端 刪除了 正在app 端登陸的用戶,怎樣能讓app 端用戶強(qiáng)制下線,web 端用什么方式可以達(dá)到這個效果?javaweb
問題解答
回答1:舉個例子: app需要token登錄,推送消息,app接收推送消息后代碼執(zhí)行清空token行為導(dǎo)致token失效,強(qiáng)制退出
回答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.是直接強(qiáng)制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. angular.js - webpack build后的angularjs路由跳轉(zhuǎn)問題2. java - web項目中,用戶登陸信息存儲在session中好 還是cookie中好,取決于什么?3. java - Activity中的成員變量被賦值之后,Activity被回收的時候內(nèi)存才會被釋放嗎4. Discuz! Q 有人用過嗎?5. 數(shù)組按鍵值封裝!6. 我寫的哪里有錯?請大神幫忙查看一下。7. 請求一個數(shù)據(jù)返回內(nèi)容為空或者錯誤如何再次請求幾次8. 使用list和each配合,的作業(yè),輸出一行后,如何換行9. php由5.3升級到5.6后,登錄網(wǎng)站,返回的是php代碼,不是登錄界面,各位大神有知道的嗎?10. 為什么bindClass訪問不了的?
