問題タブ [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 投票する
0 に答える
279 参照

laravel-5.1 - Laravelコントローラミドルウェアは複数のステップをフィルタリングしますか?

ユーザーがアカウントを作成した後、次の順序でリダイレクトされます

  1. 会社を登録する
  2. ロゴをアップロード
  3. 表紙をアップロード
  4. ストライプに接続
  5. 一般設定
  6. バウチャー設定
  7. 有料サブスクリプション

会社に関連するすべてのコントローラーによって拡張される OwnerController.php があります。その中で、2 つのミドルウェアを適用しました。 1. hasAccess - ユーザーがログインしているかどうかを確認します。そうすれば、ユーザーがアプリを使用する準備ができており、プロファイルが公開されていることがわかります。

registrationCompleteミドルウェアの適用方法は次のとおりです

問題は、アプリ全体の他のコントローラーに同じ名前の他のメソッドがあり、ユーザーがアドレスバーの URL を変更すると、登録プロセスが完了する前に制限された領域にアクセスできることです。

各ルートまたはグループ化されたルートに適用できることはわかっていますが、何百ものルートがあり、それはオプションではありません。

私がやりたいことは、コントローラー名もミドルウェアの except メソッドに追加することです。元

どうすればそれを達成できるのでしょうか?

ありがとうございました

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

laravel - Laravel - ミドルウェアからコントローラー/ルートに変数を渡す

ミドルウェアからコントローラまたはそのようなミドルウェアを実行するルートに変数を渡すにはどうすればよいですか? 次のようにリクエストに追加することについての投稿を見ました:

また、フラッシュを使用して提案された他の人:

しかし、それがベストプラクティスかどうか、またはこれを行うためのより良い方法があるかどうかはわかりませんか? ここに私のミドルウェアとルートがあります:

参考までに、これにミドルウェアを使用することにした理由は、ライフサイクルのトークンをキャッシュする予定があるためです。そうしないと、要求ごとに新しいトークンを要求するため、これは恐ろしい実装になります。

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

laravel - Laravel ルートが直接アクセスされないようにする方法 (つまり、非 ajax リクエスト)

私のプロジェクトでは、Laravel を純粋にバックエンド API として使用しており、すべてのフロントエンドは Angular JavaScript によって処理されます。現時点では、Laravel のルートに直接アクセスでき、ブラウザに表示される Json のすべてのデータを吐き出すことができます。Laravel が Ajax リクエストにのみ応答し、それ以外には応答しないように制限を加えたいと考えています。

私はこの投稿を読んで、Laravel 4 の解決策を示していますfilter.php。しかし、Laravel 5.1 の時点でフィルターは使用されなくなり、ミドルウェアを使用して同じことができると思います。ただし、そのSO回答でLaravel 4ソリューションをフィルターからミドルウェアに変更する方法がわかりません。

Laravel 5.1 のルートに直接アクセスできないようにする方法について、アイデアを共有できますか?

を使用したLaravel 4ソリューションfilter.phpfilter.phpこのフィルターを宣言します:

次に、AJAX 経由でのみアクセスできるようにするすべてのルートをグループに入れます。あなたの routes.php で:

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

php - laravelでミドルウェアをセットアップするにはどうすればよいですか

したがって、次のように登録されている認証ミドルウェアがありますHttp/Kernel.php

次に、Authenticate クラスのミドルウェア ハンドル関数に変更を加えました。

そして最後にルートを作成しました:

このルートにアクセスできますが、サインインしていないユーザーとしてリダイレクトする必要があります。

関数内でadd()を使用してhandleも何も起こりません。

このルートでこのメソッドを実行するにはどうすればよいですか?

また、各アクション要求の前に認証する必要がある他のコントローラーに関しては、「各アクションの前に、このメソッドを実行してください」と言いますか。レールで私がするだろうbefore_action :method_name

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

php - Laravelのデフォルト認証が正しいパスにリダイレクトされない

ユーザーがログインしていないときに、組み込みの Laravel Auth を正しいパスにリダイレクトする際に問題が発生しています。

ドキュメントから、AuthController.phpに以下を追加できるようです

これを追加すると、さまざまな状況でユーザーがリダイレクトされる場所を制御できるようになりますが、効果はないようです。

コードを掘り下げると、以下のように、handle 関数の middleware/authenticate.php に認証/ログイン ルートが設定されていることがわかります。

ここでパスを変更すると機能しますが、これは確かにそれを達成するための最良の方法ではありません。

私はLaravel 5.1.7を使用しており、php artisan route:clearを試しました

どんなアイデアや提案も素晴らしいでしょう。

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

authentication - ユーザーから作成日を確認してパスワードを変更するLaravel 5.1ミドルウェア

Laravel 5.1 で webapp を開発しており、認証システムを構築しています。ユーザーがパスワードを 6 か月以上変更していないかどうかを確認する必要があり、ミドルウェアを使用してこれを確認しますが、見つかりませんでしたどうすれば適切に行うことができますか。グローバル ミドルウェアを作成しましたが、認証されたユーザーを取得できないため機能しません。

AfterMiddleware を使用してパスワードを確認する必要がある可能性はありますか?