Temel olarak bir kullanıcının izinleri için verileri döndüren bir kod geliştirdik. Örneğin , bir varlık aşağıdakilerden biri olabilir:Kullanıcı izinlerini depolamak için kullanılacak veri türü
-Create
-Edit
-Delete
-Export
: Kullanıcının bir eylemi gerçekleştirmek için izin
-Company
-Contact
-Project
-Issue etc...
Sonra ilkeleri atayabilir (ve bir kişinin birden çok politikaları alabilirsiniz) Temel olarak bir politika, A kullanıcısının bir şirket oluşturma hakkına sahip olduğunu, ancak aynı kullanıcının bir şirket oluşturma hakkına sahip olmadığını belirttiği bir başka politikayı söyleyebilir. Bu durumda izin verilmeyen haklardan önce izin veren hakları alırız. Bu örnekte, bir şirket oluşturmasına izin verilebilirdi.
Yani temelde şöyle veriler oluşursa:
Policy1 Company Create Yes
Policy1 Company Edit Yes
Policy1 Company Delete No
Policy2 Company Create No
Policy2 Company Edit Yes
Policy2 Company Delete No
Biz tartıştığımız kurallara dayalı bu kullanıcının izni ne dönmek için kullandıkları bir sorgu var.
sorguyu çalıştıran Bu durumda sonuç olacaktır:Company create yes
Company edit yes
Company delete no
Bizim app evet/hayır onlar eylemi gerçekleştirmek mi yapamaz mı için sadece biraz değil. Biz sadece evet/hayır/sahip sahibiz (yalnızca sahibi tarafından düzenlenecek/silinecek kayıtlar için. Bizim sorgumuz harika ve doğru veriyi döndürüyor.
Sorum şu C# dilinde hangi veri türünü kullanmalıyım? temelde ki:
Create Edit Delete
Company Yes Owner Only Yes
Contact No No No
Project Yes Yes Owner Only
:. bir eylem (oluştur) şöyle bir matris oluşturmak istiyorsanız temelde günün sonunda değerinin ne verilen bir varlık (şirket) verilen
İlk sütundaki satırlar varlığı temsil eder, bundan sonraki sütunlar eylemleri temsil eder (oluşturma, düzenleme, silme) Örneğin 2 endeksi kombinasyonu: [Company][Create] = Yes
, kuruluşa dayalı eylem hakkını size verir.
Peki, bu tür bir modele uyarlayabilmem için şu türde bir veri türü: [Contact][Edit]=No
. Ayrıca, bu nesneyi oturuma/bir varlığa ve eyleme dayanarak sonuca ulaşmak için bir yolla (belki dinamik olarak) gelmeliyiz.
Oturumun iyi olacağını düşündüm, böylece kullanıcı oturumunu kapatana dek hakları bir kez ve yalnızca bir kez kontrol edebiliriz.