当你使用 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