成功登录后,用户重定向到此
Route::get('/', 'HomeController@index');
但我想将用户重定向到此
Route::get('home',['middleware' => 'auth', 'uses' => 'WelcomeController@index']);
我该怎么做?
由于
答案 0 :(得分:2)
在AuthenticatesAndRegistersUsers
特征中,当登录成功时,会调用名为redirectPath()
的方法。该方法按顺序检查属性redirectPath
和redirectTo
是否存在,因此在您的控制器中,您可以定义其中一个属性。
因此,在您的auth控制器中,执行以下操作之一:
public $redirectPath = 'path/to/go';
或
public $redirectTo = 'path/to/go';
如果要使用函数获取路径,例如route()
用于命名路由,或action()
获取到控制器方法的路径,则无法使用其中一个以前的属性,因为在PHP中这是错误的:
class AuthController extends Controller
{
...
public $redirectPath = route('name.of.the.route');
...
}
在这种情况下,您始终可以覆盖redirectPath()
方法:
class AuthController extends Controller
{
...
public function redirectPath()
{
return route('name.of.the.route');
}
...
}