Laravel で、エレガントな方法を使用せずにデータベースドライバーとプロバイダーの認証を実装する方法
P粉043566314
2023-08-28 09:14:37
<p>Laravel でサポートされているドライバーは、Web サイトを承認するための「データベース」または「雄弁」です。
デフォルトの <strong>config/auth.php</strong> では、ドライバーが雄弁であると常に述べられていることがわかります。 </p>
<pre class="brush:php;toolbar:false;">```
/*
|------------------------------------------------- -----------------------
| ユーザープロバイダー
|------------------------------------------------- -----------------------
|
| すべての認証ドライバーにはユーザー プロバイダーがあります。これは、ユーザーのデータがデータベースまたは他のストレージ メカニズムから実際にどのように取得されるかを定義します。
|
| 複数のユーザー テーブルまたはモデルがある場合は、各モデル/テーブルを表す複数のソースを構成できます。これらのソースは、定義した追加の認証保護に割り当てることができます。
|
| サポート: 「データベース」、「雄弁」
|
*/
'プロバイダー' => [
'ユーザー' => [
「運転手」 => 「雄弁」、
'モデル' => App\Models\Users::class,
]、
// 'ユーザー' => [
// 'ドライバー' => 'データベース',
// 'テーブル' => 'ユーザー',
//]、
]、
```</pre>
<p>次に、認証をチェックするためのテーブル User に関連付けられたスキーマ <strong>User</strong> があります。
したがって、<strong>auth</strong> メソッドの一部を使用できます: <strong>auth::check()、auth::atemp()、auth:login()、...</strong> ;
Model App\Models\Users::class を使用せず、<strong>'driver' => 'database'</strong> を使用する場合、<strong>auth</ を使用するにはどうすればよいですか? Strong> 認可機能についてはどうでしょうか? </p>
ドライバーをデータベースに変更するだけで、雄弁な部分を簡単にコメントアウトし、ドライバーデータベース部分のコメントを解除することができ、以前と同様に通常どおり auth() を使用できます。 Laravel の認証機能はプラグ アンド プレイです。
リーリーAuthController でのサインイン メソッドは次のように設計できます。
リーリーこれは、eloquent ドライバーとデータベース ドライバーの両方で動作します。