Merhabalar Başlıkta belirttiğim gibi asp.net core mvc platformunda program geliştiriyorum. Projemde yetkilendirme yaparken IdentityUser ve IdentityRole kullanıyorum. Bildiğiniz gibi bu tarz yetkilendirmede yetkilendirme yaparken Action'ların üstüne [Authorize(Roles = "Admin")] şeklinde taglar açılarak actiona yetki atanır. Fakat ben bu işlemi daha da geliştirerek RolId(string), ControllerName(string), MethodName(string) ve State(bool) kolonlarına sahip bir tabloda rollerin yetkili olduğu Actionları tutan veriler bulunduruyorum. Program debug olurken bu tabloyu gözden geçirerek kullanıcının bağlı olduğu rolün id sine göre bu tablodan controllerdaki actionların hangisine erişim yetkisi olup olmadığını tespit ederek ona göre AccessDenied sayfasına yönlendirecek veya sayfaya girecek. AuthorizationService ve AuthorizationMiddleware şeklinde iki tane sınıf oluşturdum ve gerekli kodları bu sınıflara yerleştirdim. Program.cs dosyasında bu sınıfları programa enjekte ettim fakat hatalar alıyorum. Bu konuda bana yardımcı olabilecek biri varsa mutlu olurum. Şimdiden teşekkürler, iyi forumlar. |
Bildirim