斷開

2017-06-20 61 views
1

我目前使用laravel 5.4一個特定的用戶,我得到的在線用戶名單,我想從我的管理儀表板從我的列表中進行特定用戶斷開, 有沒有辦法做到這一點?斷開

+1

在這裏,我認爲HTTP是一個無狀態的協議,用戶來抓住他們需要和斷開,直到下一個請求。 – apokryfos

+0

我不明白你在說什麼?但你能指導我解決什麼問題嗎? –

+0

我只是說沒有關於你的特定系統的任何進一步的細節,通用的答案是它不能做到。 – apokryfos

回答

3

例如,在數據庫中設置一個標誌,以標記用戶需要註銷。然後在他們的下一個請求,說中間件,你可以這樣做:

if (Auth::user()->should_logout) { 
    Auth::logout(); 
} 
+0

謝謝你這是一個好主意,真的,但有沒有辦法立即做到這一點?像實時行動? –

+0

用ajax調用這個,你有你的「實時」動作 – Christophvh

+1

除非你有像websocket或客戶端輪詢通過ajax不斷設置的東西。如果你這樣做,你可以做一個'window.reload()'客戶端。 – btl

1

有一種變通方法來做到這一點,但我認爲這是 不是最佳!

users表中,我們應該有一個場,說conected,然後調用Ajax請求每10秒(例如),這AJAX請求檢查connected場和發送用戶ID,指出用戶仍在線,現在當你改變這個領域manualy,任何時候用戶點擊一個鏈接或刷新頁面,他們被註銷!

更新: @ btl的想法使用window.reload()是好的,不需要刷新!

+0

是不是有點混亂?每10秒鐘撥打一次功能? –

+1

如果你想實時,並且你不想使用websockets,你必須priodically調用一個函數! –