laravelはミドルウェアを介したログインアクセスのルーティングをどのように検証しますか
Laravel の次のチュートリアルコラムでは、laravel でログインし、ミドルウェア検証ルーティングを介してアクセスする方法を紹介します。
ミドルウェアは、アプリケーションに入る HTTP リクエストをフィルタリングする便利なメカニズムを提供します。
たとえば、Laravel にはユーザーを認証するミドルウェアが含まれています。ユーザーが認証に失敗した場合、ミドルウェアはユーザーをログイン ページにリダイレクトします。一方、ユーザーが認証された場合、ミドルウェアはさらにリクエストをアプリケーションに転送します。もちろん、ID 検証に加えて、さまざまなタスクを実行する他のミドルウェアを作成することもできます。たとえば、CORS ミドルウェアは、アプリケーションから返されるすべての応答に適切な応答ヘッダーを追加する役割を担うことができます。ロギングミドルウェアは、アプリケーションに届くすべてのリクエストを記録できます。
Laravel には、認証、CSRF 保護などのいくつかのミドルウェアが付属しています。これらのミドルウェアはすべて app/Http/Middleware ディレクトリにあります。
//使用 make:middleware 命令来创建新的中间件。php artisan make:middleware Auth
グローバル ミドルウェア
ミドルウェアをapplication 各 HTTP リクエストの処理中に実行されます。 app/Http/Kernel.php の $middleware 属性にミドルウェアをリストするだけです。ミドルウェアをルートに割り当てる
指定したルートにミドルウェアを割り当てる場合、最初に app/Http/Kernel.php ファイルでミドルウェアにキーを割り当てる必要があります。デフォルトでは、Laravel の組み込みミドルウェアは、このクラスの $routeMiddleware 属性に含まれています。カスタム ミドルウェアを追加するには、リストに追加してカスタム キーを割り当てるだけです。例:
// 在 App\Http\Kernel 类中...protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, 'can' => \Illuminate\Auth\Middleware\Authorize::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,];
ミドルウェアの作成
public function handle($request, Closure $next)
{
//通过判断session是否有用户名,判断是否登陆
if(!session('user')){
return redirect('/');
}
return $next($request);
}
//namespace是命名空间,也就是你的controller文件在哪个文件夹里//middleware对应的就是你想调用的中间件,这里调用的是登录验证的中间件//auth就是你在App\Http\Kernel类中注册的名字Route::group(['namespace' => 'Admin', 'middleware' => ['auth']], function () {
//后台首页
Route::get('admin','admincontroller@index')->name('admin');
//清除缓存路由
Route::get('admin/clear','admincontroller@clear')->name('clear');
//栏目资源路由
Route::resource('admin/classify','classifycontroller');
//公告资源路由
Route::resource('admin/notice','classifynoticecontroller');});
以上がlaravelはミドルウェアを介したログインアクセスのルーティングをどのように検証しますかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Laravel 9 と CodeIgniter 4 の最新バージョンでは、更新された機能と改善が提供されます。 Laravel9はMVCアーキテクチャを採用しており、データベース移行、認証、テンプレートエンジンなどの機能を提供します。 CodeIgniter4 は、HMVC アーキテクチャを使用してルーティング、ORM、およびキャッシュを提供します。パフォーマンスの面では、Laravel9 のサービスプロバイダーベースの設計パターンと CodeIgniter4 の軽量フレームワークにより、優れたパフォーマンスが得られます。実際のアプリケーションでは、Laravel9 は柔軟性と強力な機能を必要とする複雑なプロジェクトに適しており、CodeIgniter4 は迅速な開発や小規模なアプリケーションに適しています。

Laravel - アーティザン コマンド - Laravel 5.7 には、新しいコマンドを処理およびテストするための新しい方法が付属しています。これには職人コマンドをテストする新しい機能が含まれており、そのデモについては以下で説明します。

Laravel と CodeIgniter のデータ処理機能を比較します。 ORM: Laravel はクラスとオブジェクトのリレーショナル マッピングを提供する EloquentORM を使用しますが、CodeIgniter は ActiveRecord を使用してデータベース モデルを PHP クラスのサブクラスとして表します。クエリビルダー: Laravel には柔軟なチェーンクエリ API がありますが、CodeIgniter のクエリビルダーはよりシンプルで配列ベースです。データ検証: Laravel はカスタム検証ルールをサポートする Validator クラスを提供しますが、CodeIgniter には組み込みの検証関数が少なく、カスタム ルールの手動コーディングが必要です。実践例:ユーザー登録例はLarを示しています

初心者にとって、CodeIgniter は学習曲線が緩やかで機能は少ないですが、基本的なニーズはカバーしています。 Laravel は幅広い機能セットを提供しますが、学習曲線はわずかに急になります。パフォーマンスの点では、Laravel と CodeIgniter はどちらも良好なパフォーマンスを示します。 Laravel にはより広範なドキュメントとアクティブなコミュニティ サポートがあり、CodeIgniter はよりシンプルで軽量で、強力なセキュリティ機能を備えています。ブログアプリケーションを構築する実際のケースでは、Laravel の EloquentORM を使用するとデータ操作が簡素化されますが、CodeIgniter ではより手動の構成が必要になります。

大規模プロジェクト用のフレームワークを選択する場合、Laravel と CodeIgniter にはそれぞれ独自の利点があります。 Laravel はエンタープライズレベルのアプリケーション向けに設計されており、モジュール設計、依存関係の注入、強力な機能セットを提供します。 CodeIgniter は、速度と使いやすさを重視した、小規模から中規模のプロジェクトに適した軽量フレームワークです。複雑な要件と多数のユーザーを伴う大規模なプロジェクトには、Laravel のパワーとスケーラビリティがより適しています。単純なプロジェクトやリソースが限られている状況では、CodeIgniter の軽量で迅速な開発機能がより理想的です。

小規模なプロジェクトの場合、Laravel は強力な機能とセキュリティを必要とする大規模なプロジェクトに適しています。 CodeIgniter は、軽量さと使いやすさを必要とする非常に小規模なプロジェクトに適しています。

Laravel の Blade と CodeIgniter の Twig テンプレート エンジンを比較し、プロジェクトのニーズと個人的な好みに基づいて選択してください。Blade は MVC 構文に基づいており、適切なコード編成とテンプレートの継承を促進します。 Twig は、柔軟な構文、強力なフィルター、拡張サポート、セキュリティ サンドボックスを提供するサードパーティ ライブラリです。

Java フレームワークは、次の戦略を含むミドルウェアの再利用とリソース共有をサポートします。 接続プールによる事前に確立されたミドルウェア接続の管理。スレッドローカルストレージを利用して、ミドルウェア接続を現在のスレッドに関連付けます。スレッド プールを使用して、再利用可能なスレッドを管理します。頻繁にアクセスされるデータのコピーをローカルまたは分散キャッシュ経由で保存します。
