今天我尝试对我的应用程序进行一些更改。我试图先通过身份验证传递所有页面。我在这个网站上尝试了一个答案。但这没有任何帮助。请帮忙。这是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
路线有效。
答案 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'])
}
}