【note編成】laravel HTTPミドルウェアの導入と作成

演明
リリース: 2021-09-15 11:42:30
オリジナル
1225 人が閲覧しました

以下は、php 中国語 Web サイトのビデオを見ながらまとめたメモです。参考にしてください。以下に基礎知識を記載しますので、基礎知識が分からない方はご覧ください。私が共有した最後の記事は、composer の laravel のインストールについてでした。さらに記事を見たい場合は、私をフォローしてください。お役に立てれば幸いです。

ミドルウェアは、実際にはルートに追加されるフィルタリングまたは保護の層です。プレフィックスと名前空間はグループの配列パラメータとして渡され、ミドルウェアもグループの配列パラメータとして渡されます

#1. ミドルウェアの作成##ミドルウェア追加前

Route::group(['prefix' => 'admin','namespace'=>'Admin'], function () { Rount::get('login','IndexController@login'); Rount::get('index','IndexController@index'); });
ログイン後にコピー

Webミドルウェア追加後

Route::group(['prefix' => 'admin','namespace'=>'Admin','middleware'=>['web']], function () { Rount::get('login','IndexController@login'); Rount::get('index','IndexController@index'); });
ログイン後にコピー

Webミドルウェアはセッション機能を利用することができます。 CSRF保護を有効にします

Route::get('/',function(){ session(['key'=>123]); return view('welcome'); });
ログイン後にコピー

そしてセッションを出力するルートを設定します

Route::get('/test',function(){ echo session('key'); return 'test'; });
ログイン後にコピー

しかし、ミドルウェア内にないため、セッションの値を取得できません

次へルートをグループに入れるミドルウェアを設定します

Route::group(['middleware'=>['web']], function () { Route::get('/',function(){ session(['key'=>123]); return view('welcome'); }); Route::get('/test',function(){ echo session('key'); return 'test'; }); });
ログイン後にコピー

システムのデフォルトの Web ミドルウェア。ミドルウェアは Kernel.php にあります

セッションは Web ミドルウェアを使用する場合にのみ使用されます

2. Kernel.php ファイルでバックグラウンド管理クラウド ログイン ミドルウェアを手動で定義します

定義前:

protected $routeMiddleware = [ 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, ];
ログイン後にコピー

定義後:

protected $routeMiddleware = [ 'auth' => \Illuminate\Auth\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'admin.login' => \App\Http\Middleware\AdminLogin::class, ];
ログイン後にコピー

cmd ウィンドウでプロジェクト ディレクトリに切り替え、コマンドを使用してミドルウェアを作成します

php artisan make:middleware AdminLogin
ログイン後にコピー

次に、ミドルウェア フォルダー内の AdminLogin.php ファイルを確認します


        
ログイン後にコピー

次に、作成したばかりのミドルウェア ファイルを呼び出します

Route::group(['middleware'=>['web','admin.login'],], function () { Route::get('/',function(){ session(['key'=>123]); return view('welcome'); }); Route::get('/test',function(){ echo session('key'); return 'test'; }); });
ログイン後にコピー

3. バックグラウンド スーパー管理者の確認

Route::group(['prefix' => 'admin','namespace'=>'Admin','middleware'=>'web'], function () { Rount::get('login','IndexController@login');//登录不需要后台管理员的超级认证 }); Route::group(['prefix' => 'admin','namespace'=>'Admin','middleware'=>'admin.login'], function () { Rount::get('index','IndexController@index');//超级管理员需要认证后才能进入欢迎页面和编辑页面 Rount::resource('article','ArticleController'); });
ログイン後にコピー
どのユーザーでもログインできますが、ログインに成功すると、ようこそページが表示され、ログインログイン ページでは、ログイン情報がセッションに保存されているため、セッション情報を使用してログインするかどうかを決定します。

ログインのシミュレーションでは、ログイン情報をセッションに書き込みます。次に、Admin パッケージの下にある IndexController コントローラーを見つけます

1]); //登录信息用admin存储 return '

登录

' } }

ログイン後にコピー

ミドルウェアでセッションを出力してテストします

次に、Middleware フォルダー内の AdminLogin.php ファイルを確認します


        
ログイン後にコピー

検証:

最初にログインし、ようこそページにアクセスします。1 が出力されれば、設定が成功したことを意味します (ログイン時にセッションに 1 を保存し、その後ウェルカム ページに入ります。ウェルカム ページでは、ミドルウェアの AdminLogin.php が呼び出されます)、

引き続き、ミドルウェア フォルダーに AdminLogin.php ファイルをセットアップします。

##


        
ログイン後にコピー
上記の手順は私の勉強メモです。手順や操作のポイントなどを書き留めておきました。わからないことがあればメッセージを残していただけます。ご協力ありがとうございます。もっと詳しい情報が必要な場合は、私をフォローして、次の記事で引き続き共有してください。

以上が【note編成】laravel HTTPミドルウェアの導入と作成の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!