W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Laravel 還提供了一種機(jī)制,用于將其它設(shè)備上的用戶 Session 失效和「注銷」,而不會(huì)使當(dāng)前設(shè)備上的 Session 失效。 當(dāng)你想要用戶更改或更新密碼時(shí)可以使其他設(shè)備上的會(huì)話無(wú)效并且保持當(dāng)前設(shè)備的登錄狀態(tài)時(shí),可以使用此功能。
在開始之前,你應(yīng)該確保 Illuminate\Session\Middleware\AuthenticateSession
在你的 app / Http / Kernel.php
類中的 web
中間件組中存在并且沒(méi)有被注釋掉:
'web' => [
// ...
\Illuminate\Session\Middleware\AuthenticateSession::class,
// ...
],
然后, 你就可以使用 Auth
facade 上的 logoutOtherDevices
方法。此方法要求用戶提供其當(dāng)前密碼,你的應(yīng)用程序應(yīng)通過(guò)輸入表單接受該密碼:
use Illuminate\Support\Facades\Auth;
Auth::logoutOtherDevices($password);
當(dāng)調(diào)用 logoutOtherDevices
方法時(shí),用戶的其他 Session 將完全失效,這意味著它們將「退出」他們之前通過(guò)身份認(rèn)證的所有看守器。
注意:將
AuthenticateSession
中間件與login
路由的自定義路由名結(jié)合使用時(shí),必須覆蓋應(yīng)用程序異常處理程序上的unauthenticated
方法,以正確地將用戶重定向到登錄頁(yè)面。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: