Laravel 支持驅動程式“資料庫”或“雄辯”授權網站。在默認的 config/auth.php 中 ,我們可以看到它總是宣告驅動器是 eloquent 的。
```
/*
|--------------------------------------------------------------------------
| User Providers
|--------------------------------------------------------------------------
|
| All authentication drivers have a user provider. This defines how the
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| If you have multiple user tables or models you may configure multiple
| sources which represent each model / table. These sources may then
| be assigned to any extra authentication guards you have defined.
|
| Supported: "database", "eloquent"
|
*/
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\Users::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
```
然后我們有一個模式用戶參考表用戶來檢查身份驗證。所以我們可以使用一些auth方法:auth::check(),auth::atemp(),auth:login(),... 如果我不使用 Model App\Models\Users::class,。我使用'driver' => 'database'。我如何通過使用auth的某些功能來授權,
uj5u.com熱心網友回復:
只需將驅動更改為資料庫,您可以輕松注釋掉 eloquent 部分并取消注釋驅動程式資料庫部分,您可以像以前一樣正常使用 auth() 。Laravel 的身份驗證開箱即用。
'users' => [
'driver' => 'database',
'table' => 'users', //Or whatever table you are using for users.
]
您可以在 AuthController 中設計您的登錄方法,如下所示:
public function signIn(Request $request)
{
$request->validate([
'email' => 'required|email',
'password' => 'required'
]);
$credentials = $request->only('email', 'password');
if (Auth::attempt($credentials)) {
return redirect('/');
}
return redirect('login')->withErrors('Login details are invalid');
}
它適用于 eloquent 和資料庫驅動程式。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/507740.html
標籤:php 拉拉维尔 验证 laravel-8 laravel 查询生成器