Laravel 5中的重定向内置于用户身份验证中

时间:2015-07-16 10:14:36

标签: php authentication laravel-5

成功登录后,用户重定向到此

Route::get('/', 'HomeController@index');

但我想将用户重定向到此

Route::get('home',['middleware' => 'auth', 'uses' => 'WelcomeController@index']);

我该怎么做?

由于

1 个答案:

答案 0 :(得分:2)

AuthenticatesAndRegistersUsers特征中,当登录成功时,会调用名为redirectPath()的方法。该方法按顺序检查属性redirectPathredirectTo是否存在,因此在您的控制器中,您可以定义其中一个属性。

因此,在您的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');
    }
    ...
}