mgsmus yanıt için teşekkürler, aslında ilk etapta controller'da yetkileri kontrol etmeyi planlamıştım fakat aynı repository'e ait methodları kullanan bir çok controller olduğu için repository de kontrol etmenin daha sağlıklı olacağını düşünmüştüm, yetkileri tekrar controller'a taşıyayım o halde.
Fakat takıldığım bir konu var:
public function view(User $user, Project $project): bool
{
return $user->can('project.view') && $project->hasUser($user);
}
ProjectPolicy içerisinde yer alan bu yetkilendirmeyi; yetkisi olduğuna emin olduğum kullanıcı ile birlikte kontrol ederken
Gate::authorize('view', Project::class);
kullandığımda her türlü 404 hatası alıyorum 'view' yerine 'project.view' (doğrudan yetki adı) ile denediğimde sorun kalmıyor. Fakat örnek kodun içerisinde olduğu gibi Gate içindeki ilgili metodda dd ile bastırmak istediğimde sanki o metod hiç çalışmıyor gibi es geçiyor.
Buradaki asıl "amacım proje görüntülemeye yetkisi var mı ve ilgili kullanıcı projeye dahil mi" kontrolünü esnek bir şekilde oluşturabilmek.
Controller üzerinden de kontrol ederken aynı sorunu yaşıyorum, burada ki kaçırdığım nokta nedir acaba?
Özel guard kısmı sadece bir kaç API rotasını etkiliyor, onun dışında varsayılan guard'ı kullanıyorum, bu konuyla alakalı bir sorunum yok diye düşünüyorum çünkü hiç bir hata almadım şimdiye kadar