我如何确保一旦用户登录到Laravel-9,他就不能再通过浏览器返回按钮进入登录页面了?
我在互联网上搜索解决方案。我在几个地方读到,这是不可能的,或者我必须使用Javascript。
为了确定,我决定在这里张贴我的问题,我希望你能帮助我。
有办法这样做吗?如果解决方案是使用javascript,那么如何使用javascript解决这个问题?
谢谢
发布于 2022-07-19 11:48:01
如果您在项目中打开guest中间件/app/Http/Middleware/RedirectIfAuthenticated.php,您可以看到具有以下条件的句柄函数:
...
if (Auth::guard($guard)->check()) {
return redirect(RouteServiceProvider::HOME);
}
...这意味着在登录到站点之后,如果用户试图转到登录页面,浏览器将页面重定向到HOME地址。因此,用户在登录到站点后无法访问登录页。
最后,在您的\routes\web.php文件中,您必须以这样的方式在注册路由上应用客户中间件:
Route::get('register',[RegisterController::class,'create'])->middleware('guest');注意:您可以从/app/Providers/RouteServiceProvider.php文件中编辑HOME地址。
这个页面列出了几种方法,您可以尝试通过javascript禁用back按钮,但是没有保证。
https://stackoverflow.com/questions/73035709
复制相似问题