All posts
Mimari

HesapDefteri'nde her tabloya neden satır düzeyinde yetki koydum?

Bir esnafın defteri başka bir esnafın ekranına düşmesin diye kuralı veritabanının kendisine koydum.

HesapDefteri'nde her tabloya neden satır düzeyinde yetki koydum?

HesapDefteri'nde birden çok işletme aynı veritabanını kullanıyor. En kötü senaryo, birinin müşteri listesinin başkasının ekranında görünmesi. Bunu uygulama kodundaki bir if ile önlemek yetmez, çünkü bir gün birisi o if'i unutur.

İki işletmenin satırlarını ayıran yetki kuralı
Şema: aynı tabloda iki işletmenin satırları; kural, her işletmeye yalnızca kendi satırlarını gösterir.

Kuralı veritabanına koymak

Postgres'te satır düzeyinde yetki (RLS) diye bir özellik var. Her tabloya "bu satırı yalnızca sahibi görebilir" kuralını bir kez yazıyorsunuz. Sonra uygulama ne yaparsa yapsın, veritabanı yanlış kişiye satır vermiyor.

HesapDefteri'ndeki her tabloda bu kural açık. Uygulama, her kuralı atlayabilen bir yönetici anahtarı da kullanmıyor.

Giriş

E-posta ve şifre, Google ya da Apple ile giriş var.

Neyi yapmadım?

Kendi şifreleme katmanımı yazmadım. Uygulamaya özel bir şifreleme yok; verinin korunması altyapının kendi özelliklerine ve yukarıdaki yetki kurallarına dayanıyor. Bunu açıkça söylemeyi tercih ederim: olmayan bir güvenceyi varmış gibi göstermek, mühür standardımın tam tersi.

Kişisel verilerin nasıl işlendiğine dair resmi bilgi, HesapDefteri'nin kendi KVKK ve gizlilik metninde yer alır.

Have a project in mind?

Answer three questions and it becomes a work order.

Get a quote