Aracılığıyla paylaş


Temsilci Seçme ve Kimliğe Bürünme

İstemci/sunucu senaryolarında, bir sunucunun istemci adına bazı görevleri yerine getirmek için başka bir sunucuyu çağırması yaygın bir durumdur. Sunucuya istemci adına işlem yapma yetkisinin verildiği durum, temsilci olarak adlandırılır.

Güvenlik açısından temsilci seçmeyle ilgili iki sorun oluşur:

  • İstemci adına hareket ederken sunucunun ne yapmasına izin verilmelidir?
  • Bir istemci adına diğer sunucuları çağırdığında sunucu tarafından hangi kimlik sunulur?

Bu sorunlarla başa çıkmak için COM aşağıdaki işlevleri sağlar. İstemci, sunucunun istemci olarak ne ölçüde davranabileceğini belirleyen bir kimliğe bürünme düzeyi ayarlayabilir. İstemci sunucuya yeterli yetki verirse, sunucu istemcinin kimliğine bürünebilir ( gibi davranabilir). İstemcinin kimliğine bürünüldüğünde, sunucuya yalnızca istemcinin kullanma iznine sahip olduğu nesnelere veya kaynaklara erişim verilir. İstemci olarak davranan sunucu, kendi kimliğini maskeleyip istemcinin kimliğini diğer COM bileşenlerine yapılan çağrılarda yansıtmak için gizleme de etkinleştirebilir.

İstemci olarak davranan sunucunun gizlemeyi nasıl etkinleştirebileceğini gösteren diyagram.

Yukarıdaki şekilde gösterilen ve A ve B'nin C'den farklı bir makinedeki işlemler olduğu senaryoyu düşünün. İşlem A B'yi, B de C'yi çağırır. İstemci A, kimliğe bürünme düzeyini ayarlar. B, gizleme özelliğini ayarlar. A, kimliğe bürünme izni veren bir kimliğe bürünme düzeyi ayarlarsa, B, A adına C'yi çağırırken A'nın kimliğine bürünebilir. C işleminin sunulduğu kimlik, gizlemenin B tarafından etkinleştirilip etkinleştirilmediğine bağlı olarak A'nın kimliği veya B'nin kimliği olacaktır. Gizleme etkinleştirildiyse C işlemine sunulan kimlik A'nın kimliği olacaktır. Gizleme etkin değilse, B'nin kimliği C'ye sunulur.

Daha fazla bilgi için aşağıdaki konulara bakın: