更改Laravel中默认的认证字段(email,password)



默认情况下,Laravel使用电子邮件和密码字段进行身份验证,我想更改默认的身份验证字段,并将code_massar, date_naissance字段设置为默认的

请帮忙!!

<标题>
Schema::create('users', function (Blueprint $table) {
$table->id();
$table->string('name');
$table->string("code_massar");
$table->date("date_naissance");
$table->string('email')->unique();
$table->timestamp('email_verified_at')->nullable();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});

我使用breez包作为认证方法!

我在laravel 5中找到了一个方法

查看这篇文章。这是ldap,但应该是有用的,我认为https://ldaprecord.com/docs/laravel/v2/auth/database/laravel-breeze/#introduction

进入您的LoginController的认证方法,并根据需要修改它

public function authenticate(Request $request)
{
$credentials = $request->validate([
'code_massar' => ['required'],
'date_naissance' => ['required'],
]);
if (Auth::attempt($credentials)) {
$request->session()->regenerate();
return redirect()->intended('dashboard');
}
return back()->withErrors([
'code_massar' => 'The provided code_massar do not match our records.',
'date_naissance' => 'The provided date_naissance do not match our records.',
]);
}

你可以在这里看到更多https://laravel.com/docs/9.x/authentication#authenticating-users

相关内容

最新更新