以下は、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'; }); });
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 サイトの他の関連記事を参照してください。