2016-02-26 86 views

回答

0

最好的方法是使用内置于laravel的Auth中间件。您可以设置默认路由应发送到的默认路由login,并允许所有经过身份验证的用户进入路由。

这是最好的方法,因为它可以应用于一组路由,这意味着您不必手动将规则添加到每条您想保护的路由。把它们组合在一起。

Route::group(['prefix' => 'auth', 'namespace' => 'Auth'], function() { 
    Route::any('login', '[email protected]'); 
}); 

Route::group(['middleware' => 'auth'], function() { 
    Route::resource('person', 'PersonController'); 
}); 
0

打开/App/Http/Controllers/Auth/AuthController.php并更改下面显示的第31行。

protected $redirectTo = '/'; 

protected $redirectTo = '/dashboard'; 

现在打开文件/vendor/laravel/framework/src/Illuminate/Foundation/Auth/RegistersUsers.php。这里53行的登记方法,这行右后内侧:

$validator = $this->validator($request->all()); 

加入这一行:

$this->redirectPath = '/add_project'; 

所以这里被用于注册并登录重定向的$ redirectTo路径。第一次更改后,成功登录将重定向到仪表板。但注册也会重定向到那里。所以我们必须修改redirectPath()方法,作为最终进程负责重定向。此方法(AuthController> RegistersUsers特征注册方法> RedirectsUsers特征> redirecPath方法)在重定向到我们首先更改的默认“$ redirectTo”路径之前检查'redirectPath'属性。通过添加属性,检查将直接重定向到'redirectPath'路径。