検索
ホームページPHPフレームワークLaravellaravelはミドルウェアを介したログインアクセスのルーティングをどのように検証しますか

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 サイトの他の関連記事を参照してください。

声明
この記事はcsdnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
LARAVELバージョン:移行チュートリアルLARAVELバージョン:移行チュートリアルMay 14, 2025 am 12:17 AM

Laravelの移行システムは、最新バージョンでどのような新機能とベストプラクティスを提供していますか? 1。多型関係にnullablemorphs()を追加しました。 2。列()メソッドが導入され、列の順序が指定されます。 3.孤立した記録を避けるために、外国のキー制約の処理を強調します。 4.インデックスを適切に追加するなど、パフォーマンスを最適化することをお勧めします。 5.移行の実装と記述名の使用を提唱します。

Laravelの最新のLTSバージョンは何ですか?Laravelの最新のLTSバージョンは何ですか?May 14, 2025 am 12:14 AM

laravel10、relietinginfebruary2023、isthelatestltsversion、supportedforthreeyears.itrequiresphp8.1、拡張、forfeatureflagsを拡張し、エラーハンドリング、洗練されたもの、および実質的な形成、特にineLoquentormを改善します。

更新を維持:最新のLaravelバージョンの最新機能更新を維持:最新のLaravelバージョンの最新機能May 14, 2025 am 12:10 AM

Laravelの最新バージョンでは、複数の新機能を紹介します。1。Laravelpennantは、機能フラグを管理するために使用され、新しい機能を段階的にリリースできるようにします。 2。LARAVELREVERBは、リアルタイムコメントなどのリアルタイム機能の実装を簡素化します。 3. Laravelviteは、フロントエンドの建設プロセスを加速します。 4.新しいモデル工場システムは、テストデータの作成を強化します。 5.エラー処理メカニズムを改善し、より柔軟なエラーページのカスタマイズオプションを提供します。

Laravelでソフト削除の実装:ステップバイステップチュートリアルLaravelでソフト削除の実装:ステップバイステップチュートリアルMay 14, 2025 am 12:02 AM

softleteinelelavelisling -memptry -bracechortsdevetus -teedeecetovedlydeveledteecetetecedelave

現在のLaravelバージョン:最新リリースと更新を確認してください現在のLaravelバージョン:最新リリースと更新を確認してくださいMay 14, 2025 am 12:01 AM

laravel10.xisthecurrentversion、newfeatureslikeNumsuportineloquentModelsEndimprovedeModelbindingwithenums.theseupdatesenhanceCodereadabilityandsecurity、butrequirecarefulplanningandinningandincrementarementalementalementation forasucesupgrade。

Laravelの移行の使用方法:ステップバイステップのチュートリアルLaravelの移行の使用方法:ステップバイステップのチュートリアルMay 13, 2025 am 12:15 AM

laravelMigrationSstreamLedinedAtabaseManagementionbyAllowingsCheMachAngESTOBEDEDINPHPCODE

最新のLaravelバージョンを見つける:迅速で簡単なガイド最新のLaravelバージョンを見つける:迅速で簡単なガイドMay 13, 2025 am 12:13 AM

Laravelの最新バージョンを見つけるには、公式Webサイトlaravel.comにアクセスして、右上隅の「ドキュメント」ボタンをクリックするか、Composersコマンド「Composershowlaravel/Framework | Grepversions」を使用できます。更新され続けると、プロジェクトのセキュリティとパフォーマンスの向上に役立ちますが、既存のプロジェクトへの影響を考慮する必要があります。

Laravelで更新されたまま:最新バージョンを使用することの利点Laravelで更新されたまま:最新バージョンを使用することの利点May 13, 2025 am 12:08 AM

Youは、loredupdateTotheTothESTLARAVERVERSIONFORPERFORMANCEIMPROVEMENTS、強化セキュリティ、NewFeatures、BetterCommunitySupport、およびLong-Termmantenance.1)パフォーマンス:laravel9'seloquentormizationsenhanceapplicationspeed.2)laravel8introducedbetter

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール