Laravel は、現在最も人気のある PHP フレームワークの 1 つです。多くの機能が提供されますが、最も一般的に使用されるのはユーザーの認証と認可です。 Laravel は、Laravel アプリケーションに簡単に統合できる、豊富でありながらシンプルな認証システムを提供します。この記事では、Laravel がどのように認証を行うかを紹介します。
Laravel 認証の基本概念
Laravel 認証は、ログイン、登録、ログアウト、その他の操作を処理するために利用可能なルートとメソッドを多数提供します。詳細について説明する前に、Laravel 認証の基本概念を理解する必要があります。
User モデル: Laravel はユーザーを表すために User モデルを使用します。 Laravelでユーザーモデルを作成するのは非常に簡単で、artisanコマンドを実行するだけです: php army make:model User
Guard: Laravelでは、guardは特定の認証を指定するために使用される名前です。 Web や API などのレイヤー。
サービスプロバイダー: サービスプロバイダーは、Laravel フレームワークの最も基本的なコンポーネントの 1 つです。各サービス プロバイダーは、サービスを登録したり、インターフェイスと実装をバインドしたりするために使用されます。
認証プロバイダー: 認証プロバイダーは、認証の実際の実装者です。 Laravel はデフォルトで EloquentAuthenticationProvider を使用します。これは、User モデルを使用してユーザー資格情報を認証します。
Laravel で認証する方法
Laravel 認証の基本概念を理解したので、Laravel で認証する方法の紹介を開始できます。 Laravel での認証にはいくつかの手順があります。
ステップ 1: Guard の設定
Laravel 認証の使用を開始するには、まず config/auth.php ファイルで Guard を設定する必要があります。 Guard を使用すると、Web 認証や API 認証など、アプリケーションでさまざまな認証構成を指定できます。 Laravel は、セッションベースの Web アプリケーション用に次の Guard:
- web: を事前定義します。
- api: ステートレス API 用。
Guard の構成は簡単なプロセスです。 config/auth.php ファイルで Guards 配列を見つけて、次の内容を追加します。
'guards' => [ 'web' => [ 'driver' => 'session', 'provider' => 'users', ], 'api' => [ 'driver' => 'token', 'provider' => 'users', ], ],
上記のコードでは、web と api という 2 つの Guard を定義します。
ステップ 2: 認証されたユーザー モデルを定義する
Laravel には検証用のユーザー モデルが必要です。 Laravel のデフォルト設定を使用する場合は、User というモデルがすでに存在するため、それを定義する必要はありません。他の場合には、User モデルのテーブルと認証フィールドを指定する必要があります。
protected $table = 'your_user_table_name'; public function getAuthPassword() { return $this->your_password_column_name; }
ステップ 3: 認証ルートを作成する
web.php ファイルで、一連の認証ルートを簡単に作成できます。このルートのセットは、登録、ログイン、ログアウトなどの操作を提供します。次のコード例は、Laravel で認証ルートを作成する方法を示しています。
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login'); Route::post('login', 'Auth\LoginController@login'); Route::post('logout', 'Auth\LoginController@logout')->name('logout');
ステップ 4: 認証コントローラーを生成する
次に、認証ルートのコントローラーを作成する必要があります。 make:auth Artisan コマンドを使用すると、デフォルトのコントローラとルートをすばやく作成できます。これにより、次のファイルが作成されます:
- app/Http/Controllers/Auth/LoginController.php
- app/Http/Controllers/Auth/RegisterController.php
- app /Http/Controllers/Auth/ResetPasswordController.php
- app/Http/Controllers/Auth/ForgotPasswordController.php
- resources/views/auth/login.blade.php
- resource/views/auth/register.blade.php
- resources/views/auth/passwords/email.blade.php
- resources/views/auth/passwords/reset.blade.php
これで、これらのコントローラーとビューで適切なカスタマイズを行うことができます。
ステップ 5: 認証プロバイダーを設定する
AuthenticationProvider は、ユーザーの資格情報を検証するために使用されるクラスです。 Laravel では、EloquentAuthenticationProvider がデフォルトで使用されます。認証プロバイダーのユーザー モデルと認証フィールドを指定します。
protected $model; public function __construct(User $model) { $this->model = $model; } public function retrieveById($identifier) { return $this->model->find($identifier); } public function retrieveByCredentials(array $credentials) { return $this->model->where('email', $credentials['email'])->first(); } public function validateCredentials(UserContract $user, array $credentials) { return Hash::check($credentials['password'], $user->getAuthPassword()); }
上記のコードはデフォルトの EloquentAuthenticationProvider プロバイダーであり、これに基づいてカスタマイズできます。もちろん、独自のプロバイダーを実装することもできます。
ステップ 6: 認証に Auth ファサードを使用する
Laravel では、Auth ファサードを使用してユーザー認証を実装できます。認証検証を使用すると、ユーザーがログインしているか、認証されているかなどを簡単に確認できます。
ログインしたかどうかを検出する
if (Auth::check()) { // 已经登录,继续操作 } else { // 未登录,跳转到登录页面 return redirect('login'); }
認証を実行する
$credentials = [ 'email' => $email, 'password' => $password, ]; if (Auth::attempt($credentials)) { // 验证成功 } else { // 验证失败 }
ログアウト
Auth::logout();
すべての手順を完了すると、Laravelにユーザー認証を実装できます。 。 Laravel の主要な認証概念とプロセスをマスターしたので、これを使用して、独自のアプリケーションに強力かつシンプルなユーザー認証を提供できます。
以上がLaravel の認証方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

トコンバティソルメントアンドロネリネスは、レモであり、regultionを実現し、等間grothopportunitionを提供し、効率的に使用します

laravelispopopularfulfull-stackdevelopment becuseiTOfferseamlessbbackEndpowendPowerandfflexibility.1)simplifyDatabaseItteractions.2)asbladetemplatingEngineallowsforclean、dynamictmltemplates.3)Laravelmix

ビデオ会議プラットフォームを選択する際の重要な要因には、ユーザーインターフェイス、セキュリティ、および機能が含まれます。 1)ズームなど、ユーザーインターフェイスは直感的である必要があります。 2)セキュリティに注意を払う必要があり、Microsoftチームはエンドツーエンドの暗号化を提供します。 3)機能は要件を一致させる必要があり、Googlemeetは短い会議に適しており、Ciscowebexは高度なコラボレーションツールを提供します。

Laravel10の最新バージョンは、MySQL 5.7以降、PostgreSQL 9.6以降、SQLite 3.8.8以降、SQLServer 2017以降と互換性があります。これらのバージョンは、クエリとストレージの効率を向上させるMySQL5.7のJSONデータ型など、LaravelのORM機能をサポートするため選択されます。

laravelisanexcellentchoicefulfulffull stackdevelopmentduetoitsotsobustfeaturesofuse.1)そのImprifiescomplextaskswithnphpsynthenphpsynpsuls likebladeforfront-dandeloquentormforback-end.2)laravelmixandartisantystemを拡張するlaravedecosystem

laravel10、releaseonfebruary7,2023、isThelateStversion.itfeatures:1)改善された改善とnewReportmethexceptionhandler、2)拡張サプロポートフォーフプP8.1FeatureslikeNums、and3)

ThelatestlaravelversionEnhancesDevelopments:1)SimplifiedRoutingImplicitModelbinding、2)EnhancedEloquentCapabilitiesWithNewQueryMethods、and3)supportformdernphpeaturesliekenamedarguments、makedingdingingindenjoyableを改善しました。

laravel.com/docsで最新のLaravelバージョンのリリースノートを見つけることができます。 1)リリースノート新しい機能、バグの修正、改善に関する詳細情報を提供します。 2)新しい機能の適用を理解するのに役立つ例と説明が含まれています。 3)新機能の潜在的な複雑さと後方互換性の問題に注意してください。 4)リリースノートの定期的なレビューは、それを更新し続け、イノベーションを刺激することができます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

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

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ホットトピック









