当你使用 Laravel 自带的认证系统的时候,它在 LoginController、RegisterController 以及 ResetPasswordController 中提供了一个 redirectTo 属性,这个属性允许你定义用户完成认证后重定向到的位置。
在 Laravel 中它是通过 RedirectsUsers 实现的,现在这里添加了一个小的改进,允许你定义一个 redirectTo 方法设置重定向的位置:
public function redirectPath()
{
if (method_exists($this, 'redirectTo')) {
return $this->redirectTo();
}
return property_exists($this, 'redirectTo') ? $this->redirectTo : '/home';
}通过这个新的方法你可以更轻松的访问其他方法或动态的设置位置。例如,我们假设用户登录后,你希望重定向他们到自己的公共主页,你现在可以在 LoginController 方法中这么做:
public function redirectTo()
{
return '/@'.auth()->user()->username;
}via:laravel-news