刚开始进入laravel,在迁移我的普通php
以使用它时遇到了重大问题。
我创建了一个middleware
<?php
namespace App'Http'Middleware;
use Closure;
use Session;
class QwickAuthCheck
{
/**
* Handle an incoming request.
*
* @param 'Illuminate'Http'Request $request
* @param 'Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->session()->has('qwick')) {
//
return redirect('home');
}
return $next($request);
}
}
我正在检查是否已设置会话。home
是我在routes.php
中的一条路线
Route::get('/', 'WebController@home')->name('home');
我是这样在kernel.php
中注册的;
protected $routeMiddleware = [
........
........
'qwickAuth' => 'App'Http'Middleware'QwickAuthCheck::class,
];
现在我想将middleware
应用于
Route::get('login', 'WebController@login');
我该怎么做?
我试过了;
Route::get('login', ['middleware' => ['qwickAuth'], 'WebController@login');
Laravel在他们的网站上有很多文档,但出于某种原因,他们所有的代码都没有给出人们如何使用这个框架的片段。在中间件文档中,他们给出的只是以下内容;
Route::get('admin/profile', ['middleware' => 'auth', function () {
//
}]);
我如何知道如何使用它,因为我的路线中没有function
虽然Marcins的结果有效,但也可以这样做
Route::get('login', 'WebController@login')->middleware(['qwickAuth']);
您应该使用:
Route::get('login', ['middleware' => ['qwickAuth'], 'uses' =>'WebController@login']);
这里有uses
的路由示例:https://laravel.com/docs/5.2/routing#named-路由