Rol Tabanlı Güvenlik
Roller genellikle finansal uygulamalarda veya iş uygulamalarında ilkeyi zorunlu kılmak için kullanılır. Örneğin, bir uygulama, isteği yapan kullanıcının belirtilen rolün üyesi olup olmamasına bağlı olarak işlenen işlemin boyutuna sınırlar uygulayabilir. Katiplerin belirtilen eşikten küçük işlemleri işleme yetkisi olabilir, gözetmenlerin sınırı daha yüksek olabilir ve başkan yardımcılarının hala daha yüksek bir sınırı (veya hiç sınırı olmayabilir) olabilir. Bir uygulama bir eylemi tamamlamak için birden çok onay gerektirdiğinde rol tabanlı güvenlik de kullanılabilir. Böyle bir durum, herhangi bir çalışanın satın alma isteği oluşturabileceği bir satın alma sistemi olabilir, ancak yalnızca bir satın alma temsilcisi bu isteği bir tedarikçiye gönderilebilen bir satın alma siparişine dönüştürebilir.
.NET rol tabanlı güvenlik, ilişkili bir kimlikten oluşan sorumlu hakkındaki bilgileri geçerli iş parçacığı için kullanılabilir hale getirerek yetkilendirmeyi destekler. Kimlik (ve tanımlamaya yardımcı olduğu sorumlu) bir Windows hesabını temel alabilir veya bir Windows hesabıyla ilgisi olmayan özel bir kimlik olabilir. .NET uygulamaları, sorumlunun kimliğine veya rol üyeliğine veya her ikisine de göre yetkilendirme kararları verebilir. Rol, güvenlikle (vezne veya yönetici gibi) aynı ayrıcalıklara sahip adlandırılmış bir sorumlu kümesidir. Sorumlu, bir veya daha fazla rolün üyesi olabilir. Bu nedenle, uygulamalar bir sorumlunun istenen eylemi gerçekleştirme yetkisine sahip olup olmadığını belirlemek için rol üyeliği kullanabilir.
Kod erişim güvenliği ile kullanım kolaylığı ve tutarlılık sağlamak için .NET rol tabanlı güvenlik, ortak dil çalışma zamanının kod erişimi güvenlik denetimlerine benzer bir şekilde yetkilendirme gerçekleştirmesini sağlayan nesneler sağlar System.Security.Permissions.PrincipalPermission . sınıfı, PrincipalPermission sorumlunun eşleşmesi gereken kimliği veya rolü temsil eder ve hem bildirim temelli hem de kesinlik temelli güvenlik denetimleriyle uyumludur. Ayrıca bir sorumlusun kimlik bilgilerine doğrudan erişebilir ve gerektiğinde kodunuzda rol ve kimlik denetimleri gerçekleştirebilirsiniz.
.NET, geniş bir uygulama yelpazesinin gereksinimlerini karşılayacak kadar esnek ve genişletilebilir rol tabanlı güvenlik desteği sağlar. COM+ 1.0 Hizmetleri gibi mevcut kimlik doğrulama altyapılarıyla birlikte çalışabilir veya özel bir kimlik doğrulama sistemi oluşturabilirsiniz. Rol tabanlı güvenlik, özellikle sunucuda işlenen ASP.NET Web uygulamalarında kullanım için uygundur. Ancak, .NET rol tabanlı güvenlik istemcide veya sunucuda kullanılabilir.
Bu bölümü okumadan önce Önemli Güvenlik Kavramları'nda sunulan malzemeleri anladığınızdan emin olun.