Web uygulamamı korumak için Apache Shiro çerçevesini kullanmaya çalışıyorum (UI Vaadin 6'ya dayanmaktadır). Shiro'nun sitesindeki tüm örneklere bakıp saatlerce çalıştım, ancak aşağıdaki gereksinimlerle başa çıkmak için temiz bir yol bulamıyorum.Apache Shiro kullanarak hiyerarşik roller/izinler nasıl ele alınır?
Uygulamanın, kullanıcıların şirket hiyerarşisindeki belirli departmanlara ait faaliyetler oluşturduğu bir tür proje yönetim aracı olduğunu varsayarsak. Her kullanıcı çeşitli departmanlarda çalışabilir ve her departmanda farklı güvenlik rollerine sahip olabilir. Örnek:
Department A - User is 'Manager' here Department B Department C - User is 'Admin' here Department D
Kullanıcı Bölümü A Kullanıcı 'Yönetici' olduğu da (Bölüm C atası) Bölümü D için 'Yönetici' rolünü alması gerektiğini Bölümü C Kullanıcı 'Yönetici' olduğunu.
Yani, temel izin onay (bazı bölüme ait etkinliğini görüntülemek isteyen varsayarak) olacaktır: aktivite kullanıcı görünümüne çalışıyor
- Kontrol eğer bölüm kullanıcıya ait bir role sahip olduğu;
- Kullanıcının bu bölümde numaralı telefon hattında bulunan numaralı rol için gerekli izni aldığını kontrol edin.
Yalnızca "sistem genelinde rol" değil, "bu bölümdeki rol" kavramının nasıl uygulanacağının anlaşılmasında mevcut durumdayım.
Yukarıdaki örneği "etkinlik: görünüm: 123" gibi izin dizgisine nasıl dönüştürebilirim? İş mantığımdaki izni nasıl kontrol edeceğim?
Şiro ile uygulama bir kez daha şüphesiz, kendi uygulamalarımın sağlanmasına yönelik minimum çaba sarf edecek bir çözüm kullanmak istiyorum. Ancak, Shiro'nun yerleşik uygulamalarının sadece basit vakalar için tasarlandığı görülmektedir. Başlamak için karmaşık yetkilendirme uygulamasının herhangi bir örneği var mı (yukarıdaki durumu kapsayabilir)?