Merhaba arkadaşlar. Udemy'de bir kursa başladım ama kurs laravel 9 versiyonu ve ben 10 kullanıyorum. Sanırım hata bundan dolayı ortaya çıkıyor.
Kursun "yönetici koruması" bölümünde aşağıdaki hatayı aldım.
Illuminate\Auth\SessionGuard::__construct(): Argument #2 ($provider) must be of type Illuminate\Contracts\Auth\UserProvider, null given, called in E:\ÇALIŞMALAR\0 - Laravel Proje\haber\vendor\laravel\framework\src\Illuminate\Auth\AuthManager.php on line 127
HHata noktası olarak controller dosyamı gösteriyor o da bu şekilde.
'''
public function login_submit(Request $request)
{
$request->validate([
'email' => 'required|email',
'password' => 'required'
]);
$credential = [
'email' => $request->email,
'password' => $request->password
];
if(Auth::guard('admin')->attempt($credential))
{
return redirect()->route('admin_home');
}else{
return redirect()->route('admin_login')->with('error', 'information is not correct');
}
}
'''
Auth.php dosyamdaki kodlar bunlar:
'''
return [
'defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
'Admins' => [
'driver' => 'eloquent',
'model' => App\Models\Admin::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
'passwords' => [
'users' => [
'provider' => 'users',
'table' => 'password_reset_tokens',
'expire' => 60,
'throttle' => 60,
],
'admins' => [
'provider' => 'admins',
'table' => 'password_reset_tokens',
'expire' => 60,
'throttle' => 60,
],
],
'password_timeout' => 10800,
];
'''
Yardımcı olursanız çok sevinirim. zira laravelden çok anladığım söylenemez ve ilk defa karşılaştım bu hata ile. Şimdiden teşekkürler.