Запрос идет к каждому промежуточному ПО laravel 5.2

Я использую laravel 5.2 с entrust/zizaco. Когда пользователь аутентифицируется, у него есть роль администратора, но когда я помещаю dd(1) в свое промежуточное программное обеспечение роли app_user, запрос входит в него !! Запрос также входит в промежуточное ПО ролей admin и business_owner. И даже когда пользователь выходит из системы, после этого каждый его запрос проходит через промежуточное ПО auth!!

Route::group(['middleware' => 'auth'], function () {
    Route::group(['middleware' => ['role:admin']], function (){
       // Routes go here
    });

    Route::group(['middleware' => ['role:app_user']], function (){
        // Routes go here
    });

    Route::group(['middleware' => ['role:business_owner']], function (){
       // Routes go here
    });
});

person Hamidreza Bayat    schedule 21.10.2016    source источник
comment
Я не знал о вашей проблеме, но вы зарегистрировали свое промежуточное ПО в файле kernel.php?   -  person ivahidmontazer    schedule 21.10.2016
comment
Да. Я зарегистрировался. Спрошу по-другому. Должен ли запрос вводить промежуточное ПО «auth», если пользователь не аутентифицирован?   -  person Hamidreza Bayat    schedule 21.10.2016


Ответы (1)


Да, запрос должен войти в промежуточное программное обеспечение для аутентификации, и вы можете написать свои коды в промежуточном программном обеспечении. Это встроенное промежуточное ПО laravel для аутентификации пользователей:

public function handle($request, Closure $next)
    {
        if ($this->auth->guest()) { // if user isn't authenticated
            if ($request->ajax()) { // if request is ajax
                return response('Unauthorized.', 401); // return 401 res
            } else {
                return redirect()->guest('login'); // else redirect login page
            }
        }
        return $next($request); // return next res(e.g dashboard) if user is authenticated
    }
person ivahidmontazer    schedule 21.10.2016