簡體   English   中英

Laravel 9 - 如何防止在用戶登錄並點擊瀏覽器后退按鈕后顯示登錄頁面

[英]Laravel 9 - How to prevent showing login page after user is logged-in and hit browser back button

我如何確保一旦用戶在 Laravel-9 中登錄,他就不能再通過瀏覽器后退按鈕 go 到登錄頁面?
我在 inte.net 上搜索了解決方案。 我在幾個地方讀到這是不可能的,或者我必須使用 Javascript。
可以肯定的是,我決定在這里發布我的問題,希望你能幫助我。
有什么辦法嗎? 如果解決方案是 javascript,我該如何解決 javascript?

謝謝

如果你在你的項目中打開這個中間件/app/Http/Middleware/RedirectIfAuthenticated.php ,可以看到這個條件下的句柄函數:

       ...

  if (Auth::guard($guard)->check()) {
    return redirect(RouteServiceProvider::HOME);
  }
       ...

這意味着在登錄站點后,如果用戶嘗試進入登錄頁面,瀏覽器會將頁面重定向到HOME地址。 因此,用戶在登錄您的網站后無法訪問登錄頁面。
您可以從/app/Providers/RouteServiceProvider.php文件編輯HOME

頁面確實列出了您可以嘗試通過 javascript 禁用后退按鈕的多種方法,但都不能保證。

默認情況下 Laravel 9 在App\Http\Middleware下有RedirectIfAuthenticated中間件,它檢查用戶是否登錄Auth::guard($guard)->check()如果他們是他們被帶到 /dashboard url否則他們是不是。 中間件在 Kernel.php 內的$routeMiddleware數組中注冊為“guest” ,這意味着您可以將guest中間件應用於所有不需要登錄用戶訪問的路由。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM