Merhabalar,
Öncesinde araştırdığım fakat best practice denilen yolunu bulamadığım bir konu ile karşınızdayım.
User:
- id
- name
- role_id
Role:
- id
- name
Post:
- id
- user_id
- title
- content
- slug
- is_active
Yukarıda model şemasını verdim. Rol olarak admin, editor ve fixer olduğunu varsayalım.
Kullanılan Sınıflar:
- PostController
- UpdatePostRequest
Case:
Tek bir endpoint üzerinden, bir posta ait update işlemi yapılmalıdır. Bu endpointe admin veya editor girer (IDOR zaafiyetini göz ardı etmenizi bekleniyorum), güncellemesini yapar ve çıkar.
Post model için:
admin:
- Tüm kayıtlara ve tüm alanlara yetkisi var.
editor:
- Sadece kendi kayıtlara yetkisi var.
- Kendi kayıtlarında, is_active sütunu haricindekilere yetkisi var.
fixer:
- Tüm kayıtlara yetkisi var.
- Tüm kayıtlarda, slug ve is_active sütunlarına yetkisi var.
Kullanılan sınıflarla bu case nasıl çözebilirsiniz?
Eğer bu sınıfları kullanmak yerine best practice olarak gördüğünüz farklı çözüm önerileri varsa benimle paylaşabilir misiniz?
Not: Okuduğunuz metin veya dokümantasyonda paylaşabilirseniz sevinirim.