laravel - Laravel 5.5:登录后如何停止重定向到上一页
问题描述
我正在使用 Laravel 默认身份验证当用户登录时,我将他/她重定向到 /dashboard 而不是 /home
在 RedirectIfAuthenticated 中更改此行
return redirect('/home);`
至
return redirect('/dashboard');
现在,如果用户点击另一个需要身份验证的 url,可以说 /abc 它会将用户重定向到登录,但是一旦他/她登录,它就会将用户带到 /abc 而不是 /dashboard(根据我的要求)我希望它总是每当他/她登录时将用户带到/dashboard,而不管他/她试图点击的上一页
任何人都知道要覆盖哪个功能或任何东西......
解决方案
预期的 url 保存在会话中。因此,如果我们从会话中删除该值,用户将始终被重定向到默认路由。
在 中EventServiceProvider
,为用户登录事件添加一个监听器。
前任:
'Illuminate\Auth\Events\Login' => [
'App\Listeners\LogSuccessfulLogin',
],
现在您添加了事件,工匠可以使用php artisan event:generate
( https://laravel.com/docs/5.8/events#generating-events-and-listeners ) 创建侦听器。在创建的 App\Listeners\LogSuccessfulLogin 文件的 handle 方法中,取消设置会话值url.intended
,如下所示:
public function handle(Login $event)
{
session()->remove('url.intended');
}
推荐阅读
- node.js - npm run -- 如果手动输入启动命令,它会抛出错误 command not found
- arrays - 将对象推送到嵌套的 Typescript 数组中,出现错误:无法读取未定义的属性“推送”
- javascript - React Native Jest - BABEL 参考错误
- jquery - 在我的情况下,如何从 Json Stringify 读取值?
- html - 框箭头采用相应框的背景颜色
- google-app-maker - 如何创建记录并使其与 Google Apps Maker 中的父级相关联?
- exception - ARM - 异常中的链接寄存器
- html - VBA单击下拉菜单选项,当菜单由表格元素组成时(在网页上)
- python - 为什么 PyQt5 同时使用“cls”和“self”?
- python - anaconda 的多个版本(v4.0.0 和 v4.6.8)