$request->user (‘admin’) 获取用户信息时 返回 NULL
我在config/Auth.php guards内定义如下:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
'admin' => [
'driver' => 'passport',
'provider' => 'admins',
]
],
其中admin是我定义的
providers内定义如下:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
'admins' => [
'driver' => 'eloquent',
'model' => App\Models\Admin::class,
]
],
$request->user('admin') 为什么返回NULL,我不知道错在了哪里
请求头加上token了吗
这个是必须请求头有token才能获取到吗
App\Models\Admin::class,我看一下
贴一下登录代码,登录的时候要用
admin
的guard
才行,目测是因为你没用,所以用了默认的default guard web
@FMW
你用的
passport
啊,那必须要带有Authorization
的头才行,还有你这里登录怎么就直接从$request
获取用户了,你这是要获取web guard
的登录用户?那你还判断密码干什么?@Liuzhipeng_laravel 你这么一说还真是,
guard
对passport
是无效的,源码里面是直接写死了获取api
的guard