問題タブ [laravel-middleware]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
923 参照

php - ミドルウェア コントローラへのアクション用、Laravel 5.1

インデックス メソッドを持つコントローラーがありますが、このメソッドにアクセスできる複数レベルのユーザーもいますが、1 人の管理者がデータベースのすべてのレコードを表示できます。ユーザーに対応するアクションを選択するためのミドルウェアを追加するにはどうすればよいですか? 次のコードがあります

ありがとう

0 投票する
2 に答える
23488 参照

php - Laravel 5: ルートの前後のミドルウェア

beforeCache と afterCache の 2 つのミドルウェアがあり、どちらもカーネルに登録されています。

これらを次の順序でルートに呼び出したい: 1. beforeCache 2. myController 3. afterCache

次のようなルートを定義すると:

afterCache が同じ配列キー ミドルウェアを再定義しているため、 beforeCache は実行されません。

どうすればいいですか?ありがとう!

0 投票する
1 に答える
406 参照

php - Laravel 5: ミドルウェアが期待どおりに動作しない

ミドルウェアに問題があります。

カスタムミドルウェアの作成: php artisan AuthNew

ここに画像の説明を入力

私のAuthNewの内部:

ここに画像の説明を入力

私のroutes.php内: ここに画像の説明を入力

問題は、ログインすると常に /account にリダイレクトされることです。/logout を実行しても、/account にリダイレクトされます。私が期待しているのは、ログインに成功したときです。すべてのアカウント ルートは、ユーザーが認証された場合にのみルーティングされます。そうでない場合は、ログインページにリダイレクトされます。/account リンクにアクセスしなくなります。ログインではその逆です。(認証された場合、ログインページにアクセスできません) アドバイスしてください。

0 投票する
2 に答える
3197 参照

php - インターセプト Laravel ルーティング

APIバージョンがヘッダーを介して渡されるLaravel 5.1でRestful APIを構築するのに忙しいです。このようにして、ルート グループ全体をコピーして貼り付けてバージョン番号をインクリメントするのではなく、機能をバージョン管理できます。

私が抱えている問題は、IEのバージョン管理されたメソッドが欲しいということです:

ヘッダーからバージョンをキャプチャするルートにミドルウェアを追加しましたが、コントローラーから正しいメソッドを選択するようにリクエストを変更する必要があります。

アプリ/Http/routes.php

アプリ/Http/ミドルウェア/ApiVersionMiddleware.php

ここからは、ヘッダー バージョンを $action にアタッチし、それを $request に渡して、正しいメソッドに到達するようにします。

まあ、それはとにかく理論です。

ルートにアクションを挿入する方法についてのアイデアはありますか?

0 投票する
1 に答える
154 参照

php - ルート後のミドルウェアが Laravel をトリガーしない

タイムスタンプやその他の情報を API 呼び出しに追加できるように、アプリの後にミドルウェアを追加しようとしています。ミドルウェアに適切に到達するようにルートを適切に設定しましたが、ミドルウェアに到達すると次のようなエラーがスローされます。

非オブジェクトに対するメンバー関数 put() の呼び出し

私のミドルウェアには次のコードがあります。

dd( $collection ) を試みましたが、返されるべきオブジェクトが返されるため、何が問題なのかわかりません。誰かが私を正しい方向に向けることができますか?

ありがとう!

0 投票する
2 に答える
813 参照

php - Laravel 5.1: RESTful API で不足しているフィールドを処理する

私の Laravel 5.1 アプリケーションには、RESTful API として機能するコントローラーがあります。このコントローラーの多くのメソッドには、次のコードがあります。

同じコードを (異なる配列の内容で) 繰り返すのは最善の策ではないことはわかっています。代わりに、同じことを達成するためのエレガントな方法を探しています。

私は、routes.php で次のようなパラメーターを持つミドルウェアについて考えました。

現在、私は暗黙のコントローラーを使用しているため、私のメソッドはroutes.phpファイルに記載されていません。

繰り返すことなくこの機能を実装する最も柔軟でエレガントな方法は何ですか?

0 投票する
1 に答える
785 参照

php - Laravel 5.1: ミドルウェアの終了関数で使用するグローバル変数

リクエストの実行中に収集されたすべてのログを外部ログサーバーに送信するミドルウェア終了関数を作成しました。これらのログは、ほとんどの場合、リクエスト オブジェクトに直接アクセスできないヘルパー関数で収集されます。コントローラーから呼び出されたときに、リクエストをパラメーターとしてヘルパー関数に送信すると、コードが見苦しくなります。

Laravel 5.1 でグローバル変数を使用して、後で終了関数で使用するすべてのログを保存できるクリーンな方法はありますか?

0 投票する
2 に答える
702 参照

php - Laravel - ノートの所有者のみがそれを表示および編集できるようにします:ミドルウェアまたはフォームリクエスト?

個人的なメモ アプリを想像してみてください。ユーザーは自分のメモを追加、表示、編集できますが、他のユーザーのメモは編集できません。

メモには次の方法でアクセスします。app.dev/notes/{id}

当然のことながら、ID が のメモを所有していて140、URL で ID を 160 に変更すると、このメモを表示できます。

そうならないようにしたい。これにはミドルウェアを使用することを考えましたが、柔軟性がないためミドルウェアを使用すべきではなく、代わりに FormRequests を使用する必要があるという人々の意見を読みました。

問題は、この場合に FormRequests を使用する方法がわからないことです。FormRequests を使用して、ユーザーが自分に属していないメモを編集できないようにしました。ID のメモを所有していて、ID のメモ140を編集/投稿しようとすると160、フォーム リクエストでそれができません。

しかし、この FormRequest は実際には ID のメモを表示することを妨げません160

誰かがこれを行う正しい方法を教えてもらえますか?

ありがとうございました