問題タブ [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 に答える
1271 参照

laravel - Laravel と Sentinel: 承認のための混合ロール ミドルウェア

私はLaravelの初心者(非常に初心者)で、Laravel 5.2でCartalyst Sentinelを使用してロールの承認を活用しています。

管理セクションには、「管理者」、「エージェント」、「ライター」という 3 つ (またはそれ以上) の役割があります。

また、次のように、混合ロール アクセスが必要なセクションもいくつかあります。

  • ダッシュボード (すべてのロールがアクセス可能: 管理者、エージェント、ライター)
  • ユーザー (アクセス可能: 管理者)
  • 注文 (アクセス可能: 管理者、エージェント)
  • ページ (アクセス可能: 管理者、ライター)
  • no_admin_here (アクセス可能: エージェント、ライター)

現時点では、2 つの役割だけで動作するように管理していましたが、今は行き詰っています。

これまでに行ったこと(必要なコードのみを入れました):

ルート.php

SentinelCheck ミドルウェア (Kernel.php では「check」という名前)

SentinelAdmin ミドルウェア (Kernel.php では「admin」という名前)

SentinelAgent ミドルウェア (Kernel.php では「agent」という名前)

私が言ったように、これまでのところとても良いのですが、役割を混ぜようとすると物事が台無しになります。つまり、次のようなルートを書くことはできません:

「管理者」ミドルウェアがブロックしてログアウトするため、「エージェント」はセクションに到達しないためです。同様に、他のすべての役割を組み合わせることはできません。

等..

では、セクションへのロール アクセスを簡単に混在させる (簡単な) 方法はありますか? よろしくお願いいたします。

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

laravel-5.2 - Laravel 5.2 - ユーザーアクセスを制限する

私は Laravel 5.2 プロジェクトに取り組んでおり、ユーザー、フラグ、国があります。私が達成しようとしているのは、各ユーザーがフラグメニューをクリックできるようにすることであり、ユーザーがいる国のフラグのリストを表示する必要があります.

したがって、ユーザーはcountry_idを持っています

フラグには country_id があります。

現時点では、各ユーザーとそれぞれの国のフラグを表示できます。

これがルートです。

景色

そして私のコントローラー

問題は、URL の郡 ID を別のものに変更すると、別の国の国旗が表示されることです。ユーザーの国が URL の国 ID と一致する場合にのみアクセスできるようにするにはどうすればよいですか? ミドルウェアについて読んだことがありますが、正直なところ、その使用方法がわかりません。

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

laravel-routing - RESTful コントローラー上の Laravel 5.2 カスタム ミドルウェア レベル

そのため、フレームワークをまったく使用しなかったため、自分の「フレームワーク」を何度も何度も書き直すことにうんざりしたため、最終的に LARAVEL 5.2 を使用することを余儀なくされました。

ともかく!

私は今、Laravel フレームワークとその依存関係にかなり精通していると思います。

しかし今、これを最も賢明な方法で行う方法についてのガイダンスが必要です。

会社の DC に基づいてミドルウェアを作成したいと考えています。

envget("username");現在、すべてのユーザーは、書き直された「auth」ミドルウェアを使用して php によって認証されています。ここまでは順調ですね。(サーバーは DMZ 内にありません)。

問題は、私たちのチームは、データベーステーブルにすべてのユーザーを入力し、それらに「特権レベル」を与える必要があると考えました.1から3まで、1は「読み取り専用」、2は「読み取り+変更」であり、 3 は、安らかなコントローラーを使用した「読み取り + 作成 + 変更」です。しかし。

安らかなコントローラーを使用しているため、個々のミドルウェアを実際に提供することはできませんか? これを実現するには、routes.php 内のすべての RESTful リソースを手動で変更する必要がありますか? または私はこれを別の方法で行うことができますか?できるだけシンプルに保ちたいと思います。

助言がありますか?

事前に感謝します (typsos 用に予約済み)

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

php - Laravel 5.2はレジスタにエラーを表示しません

にルートを追加しweb middlewareます。レジスターに値を投稿するとnull、検証エラーが表示されません。しかしweb middleware、ルートから削除すると、正しく機能します。

うまくいきませんが、

正しく動作します

カーネル.php

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

laravel - Laravel 5.2 : RouteCollection.php 行 219 の MethodNotAllowedHttpException - フォームの更新

フォームがあり、フォームを更新しようとしています。フォームでは、「名前」は一意のフィールドです (リクエスト ページに一意の条件が追加され、テーブルでは名前が一意に設定されます)。フォームを更新しようとすると (値を指定しましたが、既にテーブルに存在しています)、「RouteCollection.php 行 219 の MethodNotAllowedHttpException」エラーが表示されます。

テーブルにない存在しない名前で「名前」を更新すると、問題なく動作します。

エラー

ルーター

リクエスト

レイアウトページ

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

laravel - Laravel - ミドルウェアの後に $request を空にする

私のコントローラー$requestでは、ミドルウェアの後に空であるため、データを取得できません。

何らかの理由でコントローラーメソッドを呼び出すと、データが設定さ$requestれ、ミドルウェアにアクセスして確認できますが、すぐに次のようになります。

in コントローラーは$request->all()空の配列です。

すべての機能を削除しようとしましたmiddlewareが、何も変わりません。

その理由は何ですか?

これは私のミドルウェアです:

そしてこれはコントローラーです: