我最近开始学习 Laravel。我redirectTo()
在我的 Laravel 应用程序中覆盖了默认 LoginController 中的方法。
class LoginController extends Controller
{
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
protected function redirectTo()
{
return '/dashboard';
}
}
它工作正常,但如果已经通过身份验证的用户尝试再次登录(用户尚未注销并尝试访问“/login”路由),用户将被重定向到“/home”,这显然是 RouteServiceProvider::HOME持续的。我可以简单地更改 RouteServiceProvider::HOME 常量,但肯定有更好的选择。此外,如果重定向取决于用户的角色,那么简单地更改常量不会有任何好处。那么覆盖 RouteServiceProvider::HOME 常量的正确方法是什么?