Laravel 9 - 如何防止在用户登录并点击浏览器后退按钮后显示登录页面

Moh*_*sen 2 laravel laravel-authentication laravel-9

如何确保用户在 Laravel-9 中登录后就无法再通过浏览器后退按钮转到登录页面?
我在互联网上搜索解决方案。我在几个地方读到这是不可能的或者我必须使用 Javascript。
可以肯定的是,我决定在这里发布我的问题,希望你能帮助我。
有什么办法可以做到这一点吗?如果解决方案是用javascript,我该如何用javascript解决这个问题?

谢谢

Rez*_*and 7

如果您在项目中打开guest中间件,您可以看到具有以下条件的句柄函数:/app/Http/Middleware/RedirectIfAuthenticated.php

       ...

  if (Auth::guard($guard)->check()) {
    return redirect(RouteServiceProvider::HOME);
  }
       ...
Run Code Online (Sandbox Code Playgroud)

这意味着,登录网站后,如果用户尝试访问登录页面,浏览器会将页面重定向到该HOME地址。因此用户登录您的网站后无法访问登录页面。
最后,在您的\routes\web.php文件中,您必须以这种方式在注册路径上应用来宾中间件:

Route::get('register',[RegisterController::class,'create'])->middleware('guest');
Run Code Online (Sandbox Code Playgroud)

注意:您可以编辑文件HOME中的地址/app/Providers/RouteServiceProvider.php

本页列出了几种可以尝试通过 JavaScript 禁用后退按钮的方法,但没有一种方法是有保证的