IStackWalk.Assert 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
스택에서 더 높은 호출자에게 리소스에 액세스할 수 있는 권한이 부여되지 않은 경우에도 호출 코드가 현재 권한 개체로 식별된 리소스에 액세스할 수 있다고 어설션합니다.
public:
void Assert();
public void Assert();
abstract member Assert : unit -> unit
Public Sub Assert ()
예외
호출 코드 Assertion에 .
설명
호출은 호출 Assert 스택에서 더 높은 호출자에 대한 권한 검사를 중지합니다. 따라서 이러한 호출자에게 필요한 권한이 없더라도 리소스에 계속 액세스할 수 있습니다. 어설션은 호출 Assert 하는 코드가 어설션하는 권한에 대한 보안 검사를 통과하는 경우에만 유효합니다.
호출은 Assert 호출 코드가 호출자에게 반환되거나 후속 호출이 이전 어설션을 비효율적으로 렌더링할 Assert 때까지 유효합니다. RevertAssert 또한 보류 중인 RevertAll을 제거합니다Assert.
Assert 는 해당 권한에 대한 요구가 성공하지 못하므로 부여되지 않은 권한에 대해 무시됩니다. 그러나 호출 스택의 코드가 해당 권한을 Demand 호출 SecurityException 하는 경우 스택 워크가 호출Assert하려는 코드에 도달하면 throw됩니다. 호출된 코드에 Assert 사용 권한이 부여되지 않았기 때문에 이 작업이 수행됩니다 Assert .
Caution
호출 Assert 은 호출 체인의 모든 코드에 지정된 리소스에 액세스할 수 있는 권한을 부여해야 한다는 요구 사항을 제거하므로 잘못 또는 부적절하게 사용되는 경우 보안 취약성을 열 수 있습니다. 따라서 주의해서 사용해야 합니다.