Bu başlığın aynısını Fortify için sormuştum ve @mgsmus hocam aşşağıdaki yanıtı vermişti
use Laravel\Fortify\Contracts\LoginResponse;
public function register()
{
$this->app->instance(LoginResponse::class, new class implements LoginResponse {
public function toResponse($request)
{
// Kullanıcı giriş yaptı. Giriş yapan kullanıcıya artık $request->user()
// şeklinde ulaşabilirsiniz. Auth::user() ile aynı şey...
if(in_array($request->user()->role, ['role1', 'role2', 'role3'])) {
return redirect('dashboard');
}
if($request->user()->isAdmin()) {
return redirect()->route('admin.dashboard');
}
return redirect('/');
}
});
}
Yukardaki basit ve net çözümü başka bilen birini ben bulamadım , ciddiyim isteyen araştırabilir. Not olarak düşmek istedim
Neyse yukardaki çözüm fortify içindi Breeze fortify kullanmıyor ve ben Breeze ile birşeylere başlamak istiyorum
jetstream adresinde bulunan
For those brand new to Laravel, we recommend learning the ropes with Laravel Breeze before graduating to Laravel Jetstream.
uyarısındaki Ropes 'in ne olduğunu anlamak adına laravel jetstream ile yaptığımın birde Breeze ile yapmak istiyorum . Bir sonraki hedefim jetstream ve breeze in yaptığını sıfırdan kendim yazabilmek yani hiçbir starter kit kullanmamak neyse .
Konu: Multi Auth
Youtube "laravel breeze redirect after login" anahtar kelimesi arama sonucunda herkes yeni bir guard ve bu quardı
kullanan yeni bir Admin model oluşturuyor ben ise tek bir model olan varsayılan User model ile çalışmak istiyorum ve bu durum yani default gelen user model ile çalışıp multiAuth isteniyorsa Role sistemini gerektiriyor ve bu yazıyı okuyacak ve spatie permission paketini kullanacaklara spatie'nini sayfasındaki
THE DOWNSIDE TO MULTIPLE GUARDS
Note that this package requires you to register a permission name for each guard you want to authenticate with. So, "edit-article" would have to be created multiple times for each guard your app uses. An exception will be thrown if you try to authenticate against a non-existing permission+guard combination. Same for roles.
bu alıntıyı da dikkate almalarını öneririm .
Sorum Breeze ile Giriş yapan kullanıcıyı rolüne göre yönlendirme nasıl yapılır
ikinci sorum Fortifyfa CreateNewUser. php içinde yeni kaydolan kullancıya birde profil ekliyordum ve en sonunda
return $user ile iş bitiyodu
$user = User::create([
'name' => $input['name'],
'username' => Str::slug($input['username'], ''),
'email' => $input['email'],
'password' => Hash::make($input['password']),
]);
Profile::create([
'user_id' => $user->id,
'type' => $input['type'],
'firstname' => $input['firstname'],
'lastname' => $input['lastname'],
]);
return $user;
artık breezede işler Controllerde dönüyor sanırım RegisteredUserController
public function store(Request $request)
{
$request->validate([
'name' => ['required', 'string', 'max:255'],
'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
'password' => ['required', 'confirmed', Rules\Password::defaults()],
]);
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]);
event(new Registered($user));
Auth::login($user);
return redirect(RouteServiceProvider::HOME);
}
bu yukarda event(new Registered($user)); ne iş yapıyor ? ve sanırım Auth::login($user); return $user; ile aynı amçda mı ?