默认情况下,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