![](/img/trans.png)
[英]Argument 1 passed to Illuminate\Auth\EloquentUserProvider::validateCredentials() must be an instance of Illuminate\Contracts\Auth\Authenticatable
[英]Argument 1 passed to Illuminate\Auth\EloquentUserProvider::validateCredentials() must be an instance of
传递给 Illuminate\Auth\EloquentUserProvider::validateCredentials() 的参数 1 必须是 Illuminate\Contracts\Auth\Authenticatable 的实例,给定的 App\Models\User 实例,在 D:\xampp\htdocs\backend\e-commerce 中调用\vendor\laravel\framework\src\Illuminate\Auth\SessionGuard.php 第 384 行 ---- 我有这个问题请帮助我我的 Model 页
namespace App;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
}
我的 Controller
namespace App\Http\Controllers;
use App\Mail\UserRegisterMail;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Mail;
class UserController extends Controller
{
public function login(){
return view('user.login');
}
public function register(){
return view('user.register');
}
public function registerPost(Request $request){
$request->validate([
'ad' => 'required|max:60',
'email' => 'required|email',
'şifrə' => 'required|confirmed',
]);
$request->flash();
$user = User::create([
'name' => $request->ad,
'email' => $request->email,
'password' => Hash::make($request->şifrə),
'activation_code' => Str::random(60),
'active' => 0
]);
Mail::to($request->email)->send(new UserRegisterMail($user));
// auth()->login($user,true);
return redirect()->route('home');
}
public function activation($code){
$user = User::where('activation_code',$code)->first();
if(!is_null($user))
{
$user->activation_code = null;
$user->active = 1;
$user->save();
return redirect()->to('/')->with('message','Qeydiyyatınız tamamlandı');
}
}
public function loginPost(Request $request){
$request->validate([
'email'=>'required|email',
'şifrə'=>'required'
]);
if(Auth::attempt(['email'=>$request->email,'password'=>$request->şifrə],$request->has('xatirla')))
{
return redirect()->intended('/');
}else{
return redirect()->route('register');
}
}
}
更改扩展 Model 以扩展 Authenticable。
在你的模型中
为您的User
model 添加并更改以下行:
添加:
use Illuminate\Foundation\Auth\User as Authenticatable;
改变:
class User extends Model
到
class User extends Authenticatable
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.