Laravel 5 - 在auth不工作之前

时间:2015-05-16 11:25:18

标签: php laravel laravel-5 laravel-routing

今天我尝试对我的应用程序进行一些更改。我试图先通过身份验证传递所有页面。我在这个网站上尝试了一个答案。但这没有任何帮助。请帮忙。这是routes.php

中的代码
<?php

Route::get('/', function(){
return view('homepage');
});


Route::controllers([
    'auth' => 'Auth\AuthController',
    'password' => 'Auth\PasswordController',
]);
Route::group(['before' => 'auth'], function () {
    Route::get('home', function(){
        return \Redirect::to('twitter');
    });

   Route::get('twitter', 'HomeController@index');
   .
   .
   .
   .
});

我的档案中有几条路线。但只有twitter路线有效。

2 个答案:

答案 0 :(得分:2)

在laravel 5中,

['before' => 'auth']

已弃用。但相反,我应该使用

['middleware' => 'auth']

答案 1 :(得分:2)

Laravel5有中间件而不是过滤器。我假设您正在尝试向访客显示某个页面,因此我们已经内置了访客中间件。

Route::group(['middleware' => 'guest'], function () {
Route::get('home', function(){
    return \Redirect::to('twitter');
});

Route::get('twitter', 'HomeController@index');
});

如果需要,您也可以在控制器的特定功能上使用中间件,例如

class MyController extends Controller {

public function __construct()
{
    //to add auth middleware only on update method 
    $this->middleware('auth', ['only' => 'update'])
    //to add auth middleware on all fucntions expcept login
    $this->middleware('auth', ['except' => 'login'])
}

}