Bunun için guard tanımlaman gerekiyor.
config/auth.php içerisinde;
Authentication Guards kısmını şu şekilde güncelliyoruz:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'admin' => [
'driver' => 'session',
'provider' => 'admins',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
],
Web guard'ın yanına admin isimli guard ekledik. Provider olarak 'admins' ismini verdik. Bir sonraki adımda aşağıdaki 'User Providers' isimli alanda bunun hangi modele bakması gerektiğini tanımlayacağız. Elequent ORM kullandığını varsayıyorum. Query Builder içinde özelleştirilebiliyor sanırım:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'admins' => [
'driver' => 'eloquent',
'model' => App\Admin::class,
],
],
Şifre sıfırlama yapacaksanız aşağıdaki 'Resetting Passwords' alanını da aynı şekilde güncellemelisiniz.
Artık guard'ımız tanımlandı.
Şimdi sorgunuzda if içerisinde auth()->attemp fonksiyonunu şu şekilde güncelleyin;
if (Auth::guard('admin')->attempt(...))
{
//
}
Artık attempt fonksiyonu admin guardına bakacak. Onunda 'Admin' modeline, dolayısıyla 'admins' isimli tabloya bakması gerektiğini auth.php'de tanımlamıştık.
Bu multi-auth konusu -hele benim gibi acemiyseniz- biraz karışık. Şu aşağıdaki makaleyi de inceleyebilirsiniz;
https://pusher.com/tutorials/multiple-authentication-guards-laravel