Articles of middleware

Могу ли я добавить промежуточное ПО к файлу Guzzle 6 HandlerStack по умолчанию, а не создавать новый стек?

Я использую программное обеспечение Spatie\Crawler crawler довольно стандартным образом, например: $client = new Client([ RequestOptions::COOKIES => true, RequestOptions::CONNECT_TIMEOUT => 10, RequestOptions::TIMEOUT => 10, RequestOptions::ALLOW_REDIRECTS => true, ]); $crawler = new Crawler($client, 1); $crawler-> setCrawlProfile(new MyCrawlProfile($startUrl, $pathRegex))-> setCrawlObserver(new MyCrawlObserver())-> startCrawling($url); Я пропустил определение классов MyCrawlProfile для MyCrawlObserver для краткости, но в любом случае это работает так, […]

Тонкая структура промежуточного программного обеспечения JWT

У меня проблема с моим тонким приложением, я пытаюсь использовать JsonWebToken для аутентификации, но я не знаю, как это сделать правильно. Мое промежуточное программное обеспечение блокирует все запросы, которые не включают действительный токен, но как насчет первого запроса на отправку почты, который, очевидно, не содержит действительного токена. Вот мой код, если он помогает (в файле […]

Отправьте параметр param в промежуточное ПО как аргумент Laravel

Можно ли отправить параметр промежуточного программного обеспечения с маршрутизатора в качестве аргумента? Для простоты: Route::get('test/{param}',['middleware'=>['testing:{param}'],'uses'=>'TestController@method']); Есть ли в методе Laravel isset вот так? Я знаю о Route::current()->parameters() но я хочу найти лучший метод.

Laravel – порядок промежуточного ПО (приоритет промежуточного ПО). Мульти-арендатор с использованием Postgres

В web.php я переключил схемы Postgres в промежуточное программное обеспечение, когда был создан тип поддомена HTTP-запроса. Сюда: Route::group( [ 'domain' => '{tenant}.' . config('app.url'), 'middleware' => 'select-schema' ], function () { $this->get('/', 'HomeController@index')->middleware('auth'); } ); В промежуточном программном обеспечении select-schema я делаю что-то вроде этого. Это работает правильно. (не волнуйтесь) DB::select('SET search_path TO ' . […]

Атрибуты PSR-7 "на объекте Response

Я разрабатываю PSR-7 (с Zend Expressive). Я выяснил метод ServerRequestInterface::withAttribute() и мне было интересно, почему у объекта Response нет его. Я хотел бы передать метаданные через middlewares после обработки, на стороне ответа. Есть ли способ передать «атрибуты» в Response для последующей обработки? Каков наилучший способ, следуя руководящим принципам архитектуры, достичь этого?

Средство проверки подлинности Laravel 5 всегда перенаправляется на root или login

Когда я защищаю маршруты в Laravel 5, он работает хорошо, когда я не зарегистрирован, потому что он перенаправляет защищенные маршруты на страницу входа, но как только я вхожу в систему и пытаюсь получить доступ к защищенным маршрутам, он перенаправляет меня на корневой маршрут. Например, если я попытаюсь обратиться к людям / людям или / people […]

Как работает промежуточное ПО в Laravel 5?

Я пытаюсь понять, как работает промежуточное ПО в Laravel 5. Я посмотрел интерфейс Middleware и понял, что должен реализовать класс, который имеет метод «handle». В методе «handle» вызывается закрытие. Но я не понимаю, что прошло в закрытии. Какой класс будет вызывать мое промежуточное ПО? Как это работает под капотом? Может быть, это похоже на «foreach», […]

Как реагировать на промежуточную платформу PHP

Я создаю промежуточное ПО для авторизации в REST API. Мой API создан с использованием Slim PHP Framework, который в случае предоставления отличных функций для создания API. Одна из этих особенностей – Middleware. Мне нужно проверить учетные данные в Middleware и ответить с ошибкой (код HTTP с описаниями JSON) пользователю. Но, к сожалению, Slim Framework дает […]

Тонкий PHP-маршрут в промежуточном ПО

В Slim можно получить текущий маршрут в промежуточном программном обеспечении? class Auth extends \Slim\Middleware{ public function call(){ $currentRoute = $this->app->getRoute(); // Something like this? } } Я знаю, что вы можете вызвать $app->router()->getCurrentRoute() после slim.before.dispatch , но когда вы вызываете это из промежуточного slim.before.dispatch он возвращает не-объект. Любая помощь будет принята с благодарностью.