我在我的laravel应用程序中设置了多重身份验证。我为管理员,医生和病人设置了不同的警卫和提供者。我还为我的config\auth.php
中的各种警卫设置了重定向。 我现在唯一遇到的问题是,我想让医生用一个名为MDCN的唯一编号登录,该编号被保存到数据库表中而不是电子邮件中。请如何为医生定制登录信息? Ps:我也为每个设置了模型,我使用laravel默认验证。在laravel多重身份验证中为单个警卫定制登录凭证
了警惕:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
'admin-api' => [
'driver' => 'token',
'provider' => 'admins',
],
'doctor' => [
'driver' => 'session',
'provider' => 'doctors',
],
'doctor-api' => [
'driver' => 'token',
'provider' => 'doctors',
],
],
和供应商:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
'admins' => [
'driver' => 'eloquent',
'model' => App\Models\Admin::class,
],
'doctors' => [
'driver' => 'eloquent',
'model' => App\Models\Doctor::class,
],
],
但不会影响其他卫兵?就像用户使用电子邮件和密码登录一样? –
@OkoroaforChukwuemeka是的,这将影响所有登录,因此当只有医生登录才能获取MDCN而不是电子邮件时,您必须检查一些情况。 – TheFallen