首先为基本问题道歉,但我在Laravel和Lumen都是新手,并试图学习它。
我正在尝试使用Lumen登录用户,但我遇到了错误。我想写的是
if (auth()->attempt(...) { }
还尝试了另一种方法
if (\Auth::attempt(...) { }
错误的两种方式
传递给Illuminate \ Auth \ EloquentUserProvider :: validateCredentials()的参数1必须是Illuminate \ Contracts \ Auth \ Authenticatable的实例,App \ User的实例
我也确定我验证了表单中的所有输入。
答案 0 :(得分:2)
您的User
模型似乎扩展了Model
而不是Authenticatable
。您的User
模型应如下所示:
<?php
namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
....
答案 1 :(得分:1)
确保您没有忘记在模型中实现Authenticatable,例如:
use Illuminate\Auth\Authenticatable;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
和Model实现它
class User extends Model implements AuthenticatableContract {
use Authenticatable;
...
}