找不到类 'IlluminateFoundationAuthUser' JWT 身份验证拉拉维尔



我已经编写了用于注册的代码,并使用JWT身份验证登录。在此代码中,注册功能正常运行,但登录功能不起作用。登录函数提示错误,例如" Illuminate Findions Findions Auth user",找不到

我的用户模型是

<?php
namespace App;
use IlluminateDatabaseEloquentModel;
use IlluminateFoundationAuthUser as Authenticatable;
class User extends Authenticatable
{
    protected $table = 'users';
    public $timestamps = false;
    protected $primaryKey = 'user_name';
    protected $fillable = ['user_name','password'];
}

我的usercontroller是

class UsersController extends Controller
{
    public function login()
    {
        $credentials = request()->only('user_name','password');
        try{
            $token = JWTAuth::attempt($credentials);
            if($token){
                return response()->json(['error'=>'invalid_credentials'],401);
            }
        }
        catch(JWTException $e){
            return response()->json(['error'=>'something went wrong'],500);
        }
        return response()->json(['token'=>$token],200);
    }
    public function register()
    {
        $user_name = request()->user_name;
        $password = request()->password;
        $user = User::create([
            'user_name'=>$user_name,
            'password'=>bcrypt($password)
        ]);
        $token = JWTAuth::fromUser($user);
        return response()->json(['token'=>$token],200);
    }
}

登录函数将错误显示为

Class 'IlluminateFoundationAuthUser' not found

在您的控制器中,我想您忘了使用模型"用户"在名称空间声明下方添加它,或者是与IlluminateFoundationAuthUser

的冲突
useAppUser;

您必须运行以下内容:

composer update
composer dump-autoload

我的用户模型存在问题,我解决了

<?php
namespace App;
use IlluminateAuthAuthenticatable;
use IlluminateDatabaseEloquentModel;
use IlluminateAuthPasswordsCanResetPassword;
use IlluminateContractsAuthAuthenticatable as AuthenticatableContract;
use IlluminateContractsAuthCanResetPassword as CanResetPasswordContract;
class User extends Model implements AuthenticatableContract, CanResetPasswordContract
{use Authenticatable, CanResetPassword;
    //
    protected $table = 'users';
    public $timestamps = false;
    protected $primaryKey = 'user_name';
    protected $fillable = ['user_name','c_name','accessibility_level','password','role','contact_number','address'];
}

最新更新