【发布时间】:2019-07-11 23:41:55
【问题描述】:
当有人尝试访问需要身份验证的页面时,系统会将其重定向到登录页面。成功登录后如何将他们重定向到他们想要的页面而不是默认链接?
【问题讨论】:
-
return redirect()->intended('dashboard');我的意思是当用户访问一个页面并且未经身份验证时,他们会重定向到登录页面。因此,登录后他们应该返回到他们想早先访问的页面。以上对我有用
当有人尝试访问需要身份验证的页面时,系统会将其重定向到登录页面。成功登录后如何将他们重定向到他们想要的页面而不是默认链接?
【问题讨论】:
return redirect()->intended('dashboard'); 我的意思是当用户访问一个页面并且未经身份验证时,他们会重定向到登录页面。因此,登录后他们应该返回到他们想早先访问的页面。以上对我有用
查看默认登录控制器文件https://github.com/laravel/laravel/blob/master/app/Http/Controllers/Auth/LoginController.php
有一部分有
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
将该属性更改为您的首选端点,它们将被相应地重定向。
【讨论】:
打开app/Htpp/Controllers/Auth/LoginController 有一个参数叫redirectTo 改变它任何你想要的路线
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
或者如果你想使用一些逻辑,你可以创建一个名为redirectTo的方法
public function redirectTo(){
...
return 'some route';
...
}
【讨论】:
您所要做的就是像这样覆盖Controllers/Auth/LoginController.php 上的redirectTo() 函数:
protected function redirectTo()
{
return '/desired-page';
}
【讨论】: