为什么Auth指定guard后会提示没有attempt方法?

我查了些文章,都是这么用的啊,到了我这指定守卫guard后就不好使了。。。
提示找不到attempt方法?
看Auth的代码好像引入了一个Guard类,这个类里确实没有attempt,那该怎么验证登录?

* @see \Illuminate\Contracts\Auth\Guard

别人都是这么用的

if(!Auth::guard('admin')->attempt($arr))
{
    ...
}

我的却报错。。。

解决方法

多谢各位的回答,可能我没表述清楚,我是用passport验证登录的,好像passport指定guard之后就是会找不到attempt方法,我都看混乱了。
最后的解决方式是自定义验证,这个在passport文档里有提到

// 先查询出用户
$user = AdminUser::where('name',$request->name)->where('phone',$request->phone)->first();
// 再验证密码
if(!$user || !Hash::check($request->password, $user->password)){
    return response()->json([
         'message' => 'Unauthorized'
    ], 401);
}
// 生成token
$tokenResult = $user->createToken('admin_'.$user->id);
$token = $tokenResult->token;
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

"laravel/framework": "^8.12" 有啊,我都可以使用

3年前 评论
BlueDestiny (楼主) 3年前
liaosp (作者) 3年前
BlueDestiny (楼主) 3年前
liaosp (作者) 3年前
BlueDestiny (楼主) 3年前
讨论数量: 5
Hesunfly

你可以试试 phpstorm,如果用的就是的话,当我没说

3年前 评论
BlueDestiny (楼主) 3年前

5.7好像是有的。

3年前 评论
BlueDestiny (楼主) 3年前

"laravel/framework": "^8.12" 有啊,我都可以使用

3年前 评论
BlueDestiny (楼主) 3年前
liaosp (作者) 3年前
BlueDestiny (楼主) 3年前
liaosp (作者) 3年前
BlueDestiny (楼主) 3年前

passport实现的接口不一样 打开

Laravel\Passport\PassportServiceProvider 

他之下的makeGuard

3年前 评论
BlueDestiny (楼主) 3年前
wdnmd (作者) 3年前
BlueDestiny (楼主) 3年前
wdnmd (作者) 3年前
66
$token = auth('admin')->attempt($validated)

可以呀。。。
试试用全局方法

auth()

如果用Auth::
看下是引用的类对不对~~~

use Illuminate\Support\Facades\Auth;
3年前 评论
BlueDestiny (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!