IStackWalk Arabirim

Tanım

Dikkat

Code Access Security is not supported or honored by the runtime.

Çağrı yığınındaki tüm çağıranların korumalı bir kaynağa erişmek için gerekli izinlere sahip olup olmadığını belirleyen yığın yürüyüşünü yönetir.

public interface class IStackWalk
public interface IStackWalk
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public interface IStackWalk
[System.Runtime.InteropServices.ComVisible(true)]
public interface IStackWalk
type IStackWalk = interface
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type IStackWalk = interface
[<System.Runtime.InteropServices.ComVisible(true)>]
type IStackWalk = interface
Public Interface IStackWalk
Türetilmiş
Öznitelikler

Açıklamalar

Dikkat

Kod Erişim Güvenliği (CAS), .NET Framework ve .NET'in tüm sürümlerinde kullanım dışı bırakılmıştır. .NET'in son sürümleri CAS ek açıklamalarını dikkate almaz ve CAS ile ilgili API'ler kullanılıyorsa hata üretir. Geliştiriciler, güvenlik görevlerini yerine getirmek için alternatif yöntemler aramalıdır.

Kısmen güvenilen kod her zaman bir güvenlik riski oluşturur. Bazen bir kaynağa erişim izni olmayan kötü amaçlı kod adına eylemler gerçekleştirmek için işlenebilir. Bu şekilde, kötü amaçlı kod izin verilmesi gerekenden daha yüksek güvenlik erişimi elde edebilir.

Ortak dil çalışma zamanı, tüm çağrılarda yığın yürüyüşünü çalıştırarak yönetilen kodun bu saldırılardan korunmasına yardımcı olur. Yığın kılavuzu, çağrı yığınındaki tüm kodların korumalı bir kaynağa erişme iznine sahip olmasını gerektirir. Saldırıyı deneyen kod her zaman çağrı yığınında bir yerde olacağı için kendi güvenlik izinlerini aşamaz.

Yöntemler

Assert()

Yığında daha yüksek arayanlara kaynağa erişim izni verilmemiş olsa bile, çağıran kodun geçerli izin nesnesi tarafından tanımlanan kaynağa erişebileceğini onaylar.

Demand()

Çağrı yığınındaki tüm arayanlara geçerli izin nesnesi tarafından belirtilen iznin verilip verilmediğini çalışma zamanında belirler.

Deny()

Çağıran koddan geçen geçerli nesnenin her Demand() öğesinin başarısız olmasına neden olur.

PermitOnly()

Demand() Çağrı yığınındaki daha yüksek koda diğer kaynaklara erişim izni verilmiş olsa bile, çağırma kodundan geçen geçerli nesne dışındaki tüm nesnelerin tümünün başarısız olmasına neden olur.

Şunlara uygulanır