IStackWalk Interfész
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Kezeli a verembejárást, amely meghatározza, hogy a hívásverem összes hívója rendelkezik-e a védett erőforrás eléréséhez szükséges engedélyekkel.
public interface class IStackWalk
public interface IStackWalk
[System.Runtime.InteropServices.ComVisible(true)]
public interface IStackWalk
type IStackWalk = interface
[<System.Runtime.InteropServices.ComVisible(true)>]
type IStackWalk = interface
Public Interface IStackWalk
- Származtatott
- Attribútumok
Megjegyzések
Figyelmeztetés
A Code Access Security (CAS) elavult a .NET-keretrendszer és a .NET összes verziójában. A .NET legújabb verziói nem tartják tiszteletben a CAS-megjegyzéseket, és cas-okkal kapcsolatos API-k használata esetén hibákat okoznak. A fejlesztőknek alternatív módot kell keresnie a biztonsági feladatok elvégzésére.
A részben megbízható kód mindig biztonsági kockázatot jelent. Néha manipulálható, hogy olyan rosszindulatú kód nevében hajtson végre műveleteket, amelyek nem rendelkeznek engedéllyel az erőforráshoz való hozzáféréshez. Ily módon a rosszindulatú kódok nagyobb biztonsági hozzáférést érhetnek el, mint amennyit engedélyezni kell.
A közös nyelvi futtatókörnyezet segít megvédeni a felügyelt kódot ezektől a támadásoktól, ha minden híváson futtat egy stack-sétát. A verembejáráshoz a hívásverem összes kódjának rendelkeznie kell engedéllyel egy védett erőforrás eléréséhez. Mivel a támadást megkísérlő kód mindig valahol a hívásveremben lesz, nem fogja tudni túllépni a saját biztonsági engedélyeit.
Metódusok
| Name | Description |
|---|---|
| Assert() |
Azt állítja, hogy a hívó kód hozzáférhet az aktuális engedélyobjektum által azonosított erőforráshoz, még akkor is, ha a veremben magasabb szintű hívók nem kaptak engedélyt az erőforrás elérésére. |
| Demand() |
Futásidőben határozza meg, hogy a hívásverem összes hívója megkapta-e az aktuális engedélyobjektum által megadott engedélyt. |
| Deny() |
Demand() A hívó kódon áthaladó aktuális objektum mindegyikének meghiúsulását okozza. |
| PermitOnly() |
A híváskódon áthaladó összes objektum kivételével minden Demand() objektum sikertelen lesz, még akkor is, ha a hívásverem magasabb kódja engedélyt kapott más erőforrások elérésére. |