0

刚开始接触 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看到我的路线中没有 a,我怎么知道如何使用它

4

2 回答 2

2

虽然 Marcins 结果有效,但您也可以这样做

Route::get('login', 'WebController@login')->middleware(['qwickAuth']);
于 2015-12-28T21:09:21.803 回答
1

你应该使用:

Route::get('login', ['middleware' => ['qwickAuth'], 'uses' =>'WebController@login']);

uses在这里有路由示例:https ://laravel.com/docs/5.2/routing#named-routes

于 2015-12-28T20:15:31.830 回答