java - 如何強(qiáng)制app端強(qiáng)制下線?
問(wèn)題描述
例如 web 端 刪除了 正在app 端登陸的用戶,怎樣能讓app 端用戶強(qiáng)制下線,web 端用什么方式可以達(dá)到這個(gè)效果?javaweb
問(wèn)題解答
回答1:舉個(gè)例子: app需要token登錄,推送消息,app接收推送消息后代碼執(zhí)行清空token行為導(dǎo)致token失效,強(qiáng)制退出
回答2:這個(gè)是需要App和后臺(tái)一起處理的,首先在app端寫(xiě)好token失效App的處理行為,是跳轉(zhuǎn)到登錄界面,是殺死app還是刪除一些本地文件。接著是如何讓app獲取token失效的信息,一種是樓上說(shuō)的后臺(tái)推送消息,另一種是在后臺(tái)改變token信息,app再次訪問(wèn)后臺(tái)發(fā)現(xiàn)token失效。對(duì)后臺(tái)而言,前者是主動(dòng),后者是被動(dòng)。假如要求App被立刻通知到,顯然是前者,假如對(duì)通知的時(shí)間不敏感,可使用后者。一般來(lái)說(shuō),用戶操作app對(duì)網(wǎng)絡(luò)的訪問(wèn)還是很密集,使用后者簡(jiǎn)單方便,時(shí)間延遲也沒(méi)那么大。
回答3:要服務(wù)端控制,在app調(diào)用接口時(shí)明確返回用戶下線了,然后app退出到登錄界面?
回答4:可以使用socket.io 有了長(zhǎng)連接,雙向通信,服務(wù)端給客戶端發(fā)消息,客戶端收到消息,退出到登錄界面
回答5:首先要搞清楚你任務(wù)的app下線的含義。1.是直接強(qiáng)制app回到登錄界面,這次的登錄失效。2.app頁(yè)面保留,但是繼續(xù)有任何操作或者說(shuō)是與網(wǎng)絡(luò)相關(guān)的操作時(shí),使之下線。第一種情況比較復(fù)雜,因?yàn)槟闶橇⒓磮?zhí)行,那么最合適的就是使用推送,web端推送給特定用戶,而app端本身就已經(jīng)寫(xiě)好特定推送的相應(yīng)行為就可以了。第二種情況的話,只需要你在web端去讓你的token驗(yàn)證失效就可以了,正常情況每一個(gè)用戶的token,都會(huì)在web端保留一個(gè)失效時(shí)間,你只需要讓這個(gè)失效時(shí)間立即失效,那么你的app端有相應(yīng)的請(qǐng)求處理,當(dāng)token失效后,會(huì)調(diào)到登錄頁(yè)面重新登錄
回答6:一般沒(méi)有必要實(shí)時(shí)下線。在用戶操作app,app向服務(wù)器發(fā)出請(qǐng)求時(shí),服務(wù)器返回相應(yīng)信息,然后app再反應(yīng)退出即可。
相關(guān)文章:
1. java - 安卓電視盒子取得了root權(quán)限但是不能安裝第三方應(yīng)用,請(qǐng)問(wèn)該怎么辦?2. 在MySQL中新增字段時(shí),報(bào)錯(cuò)??3. 老哥們求助啊4. python - 模擬滑動(dòng)驗(yàn)證碼,有源碼,求解5. javascript - js 寫(xiě)一個(gè)正則 提取文本中的數(shù)據(jù)6. css3 - 請(qǐng)問(wèn)一下在移動(dòng)端CSS布局布局中通常需要用到哪些元素,屬性?7. npm鏡像站全新上線8. javascript - vue-router怎么不能實(shí)現(xiàn)跳轉(zhuǎn)呢9. javascript - [WDS] Disconnected! 一直重復(fù)出現(xiàn)。10. html5 - angularjs中外部模版加載無(wú)法使用
