Проблема с аутентификацией в laravel при использовании динамических конфигураций маршрутов - PullRequest
0 голосов
/ 20 декабря 2018

Я использую аутентификацию JWT для своей группы промежуточного программного обеспечения laravel api.Вот моя конфигурация маршрута:

Route::group(['middleware' => ['api']], function() {
    Route::post('login', 'AuthController@login');
    Route::post('test', 'AuthController@test');
});

Этот код работает хорошо, и у меня не может быть несанкционированного доступа к test методу моего класса AuthController:

class AuthController extends Controller
{
    public function __construct()
    {
        $this->middleware(['jwt.auth'])->except('login');
    }

    public function login()
    {
        //...
    }

    public function test()
    {
        //...
    }
}

, но когда я изменяюсьКонфигурация маршрута для динамического определения имени метода контроллера (как вы видите в следующем фрагменте кода), аутентификация больше не работает, и я могу получить доступ к методу test без маркера носителя!

Route::group(['middleware' => ['api']], function() {

    Route::post('/{controller}/{method}', function ($controller, $method) {

        $controllerClass = 'App\\Http\\Controllers\\'.$controller.'Controller';
        if(method_exists($controllerClass, $method))
        {
            $controller = App::make($controllerClass);
            return $controller->callAction($method, array());
        }
        return abort(404);
    });
});

Есть идеи?

...