有人遇到这个问题吗
dd($this->user->check()); return false
但是
Auth::guard('user')->attempt(App'User::find(1))
返回错误
调用未定义的方法Illuminate''Auth''TokenGuard::attempt()
请帮助解决此问题。
我解决了这个问题
在config/auth.php
配置中:
'user' => [
'driver' => 'token',
'provider' => 'userProvider',
],
我们需要更改为:
'user' => [
'driver' => 'session',
'provider' => 'userProvider',
],
因为Auth::guard
数据存储在会话中
以及关于众所周知的方案的进一步工作
Auth::login() = Auth::guard('user')->login()
Auth::attempt() = Auth::guard('user')->attempt()
Auth::user() = Auth::guard('user')->user()
...
向函数attempt
传递一个creditianals数组,而不是用户对象。
例如:
Auth::guard('user')->attempt([
'email' => 'some@email.com',
'password' => '1234'
]);
如果你正在使用Laravel并需要对用户进行身份验证,你可以调用类似的:
auth()->attempt([
'email' => 'some@email.com',
'password' => '1234'
]);