为了账号安全,请及时绑定邮箱和手机立即绑定

身份验证::尝试总是返回错误,我不知道为什么

身份验证::尝试总是返回错误,我不知道为什么

PHP
潇潇雨雨 2022-09-12 10:06:49
public function login( Request $request ) {        $fields = [            'email' => $request->email,            'password' => $request->password,        ];        $access = Auth::attempt( $fields );      echo $access;        if ( $access ) {            $user = Auth::teacher();            $token = $user->createToken('MyApp')->accessToken;            return response()->json( [                "message" => "Login realizado com sucesso!",                "data" => [                    'user' => $user,                    'token' => $token                ]            ], 200 );        } else {            return response()->json( [                "message" => "Email ou senha inválidos!",                "data" => null,                "return" => $access,            ], 401 );        }我有这个功能登录,我正在尝试与模型老师,但总是给我假,但如果我尝试与用户模型,结果是真的。auth::attempt所以我认为老师具有相同的功能和大多数操作,如用户,因此该功能应该与教师一起工作。auth::attempt
查看完整描述

2 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

将教师模型添加到配置/身份验证中的防护.php然后使用


Auth::guard('teacher')->attempt($credentials)

'guards' => [

        'user' => [

            'driver' => 'session',

            'provider' => 'users',

        ],

        'teacher' => [

            'driver' => 'session',

            'provider' => 'teachers',

        ],

    ],


 'providers' => [

        'users' => [

            'driver' => 'eloquent',

            'model' => App\User::class,

        ],

        'teachers' => [

            'driver' => 'eloquent',

            'model' => App\Teacher::class,

        ],

    ],


查看完整回答
反对 回复 2022-09-12
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

默认的拉威尔身份验证仅适用于用户模型。它在 中指定。如果要使用其他模型进行身份验证,只需在 中进行更改即可。

如果您希望将多个模型用于身份验证,例如,用户教师 ,则需要查看Laravel中的守卫config/auth.phpauth.php

下面是解释此技术的教程的链接。如何在 LARAVEL 应用中使用多个身份验证防护


查看完整回答
反对 回复 2022-09-12
  • 2 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号