Udostępnij za pośrednictwem


IStackWalk.PermitOnly Metoda

Definicja

Powoduje, że każdy Demand() dla wszystkich obiektów z wyjątkiem bieżącego, który przechodzi przez kod wywołujący kończy się niepowodzeniem, nawet jeśli kod wyższy w stosie wywołań otrzymał uprawnienie dostępu do innych zasobów.

public:
 void PermitOnly();
public void PermitOnly ();
abstract member PermitOnly : unit -> unit
Public Sub PermitOnly ()

Uwagi

PermitOnly element jest podobny do Deny, w tym, że oba przyczyny stosu kończą się niepowodzeniem, gdy w przeciwnym razie powiedzie się. Różnica polega na tym, że Deny określa uprawnienia, które spowodują niepowodzenie przewodnika stosu, ale PermitOnly określa tylko uprawnienia, które nie powodują niepowodzenia przewodnika stosu. Wywołaj tę metodę, aby upewnić się, że kod może służyć do uzyskiwania dostępu tylko do określonych zasobów.

PermitOnly Jest ignorowany dla uprawnienia, którego nie udzielono, ponieważ żądanie tego uprawnienia nie powiedzie się. Jeśli jednak kod niższy w stosie wywołań później wywołuje Demand to uprawnienie, element zostanie zgłoszony, SecurityException gdy przewodnik stosu osiągnie kod, który próbował wywołać PermitOnlymetodę . Jest to spowodowane tym, że kod, który został wywołany PermitOnly , nie otrzymał uprawnienia, mimo że został wywołany PermitOnly dla tego uprawnienia. Stos wywołań jest zwykle reprezentowany jako rosnący, dzięki czemu metody wyższe w metodach wywołań stosu wywołań niższe w stosie wywołań.

Dotyczy