CodeAccessPermission.Deny CodeAccessPermission.Deny CodeAccessPermission.Deny CodeAccessPermission.Deny Method

정의

경고

이 API는 현재 사용되지 않습니다.

호출 스택의 상위 호출자가 이 메서드를 호출하는 코드를 통해 현재 인스턴스에서 지정한 리소스에 액세스하지 못하게 합니다.Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

public:
 void Deny();
[System.Obsolete]
[System.Obsolete("Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
[System.Diagnostics.Conditional("FEATURE_MONO_CAS")]
public void Deny ();
member this.Deny : unit -> unit
Public Sub Deny ()

구현

예외

현재 프레임에 대해 활성 Deny()가 이미 있습니다.There is already an active Deny() for the current frame.

설명

중요

Deny 완전히 신뢰할 수 있는 코드에서 리소스 우발적인 액세스를 보호할 수만 메서드를 사용할 수 해야 합니다.The Deny method should be used only to protect resources from accidental access by fully trusted code. 해당 해서는 안 의도적인 악용 으로부터 리소스를 보호 하기 위해 신뢰할 수 없는 코드입니다.It should not be used to protect resources from intentional misuse by untrusted code. 예를 들어 경우 메서드 A 문제를 Deny 사용 권한 및 다음 메서드만 호출 B, 메서드 B 명백히 재정의할 수 있습니다 합니다 Deny 실행 하 여는 Assert합니다.For example, if method A issues a Deny for a permission and then calls method B, method B can overtly override the Deny by issuing an Assert. 호출된 된 메서드는 스택의 상위에 항상 있습니다.The called method is always higher in the stack. 따라서 경우 메서드 B 보안 시스템 보호 된 리소스에 액세스 하려고 하기 때문에를 사용 하 여 권한 검사 시작 메서드 B 즉각적인 호출자 이며 다음 단계를 안내 아래쪽이 있는지 확인 하려면 스택 없습니다 Deny 또는 PermitOnly 스택의 낮은 합니다.Therefore, if method B tries to access a protected resource, the security system begins checking for permissions with it because method B is the immediate caller, and then walks down the stack to confirm that there is no Deny or PermitOnly lower in the stack. 메서드 B, 리소스에 액세스 하려고 하는 사용 중지할 수는 스택 워크 즉시는 Assert 메서드.Method B, which is trying to access the resource, can stop the stack walk immediately by using the Assert method. 이런 경우는 Deny 메서드에서 스택에 배치 A (호출 메서드)가 검색 되지 않습니다.In that case, the Deny placed on the stack by method A (the calling method) is never discovered.

이 메서드는 호출 스택의 상위 호출자가 해당 호출자가 액세스할 권한이 부여 된 경우에이 메서드를 호출 하는 코드를 통해 보호 되는 리소스에 액세스 하지 못하도록 방지 합니다.This method prevents callers higher in the call stack from accessing the protected resource through the code that calls this method, even if those callers have been granted permission to access it. 호출 스택의 메서드 호출 스택의 상위에 메서드를 호출 낮은 호출 스택의 있도록에 일반적으로 하향식으로 표시 됩니다.The call stack is typically represented as growing down, so that methods higher in the call stack call methods lower in the call stack.

Deny 프로그래머의 책임을 제한 하거나 호출 하는 메서드를 방지할 수 있으므로 실수로 인 한 보안 문제를 방지할 수 있습니다 Deny 를 사용 하 여 거부 된 권한으로 보호 되는 리소스에 액세스 합니다.Deny can limit the liability of the programmer or help prevent accidental security issues because it helps prevent the method that calls Deny from being used to access the resource protected by the denied permission. 메서드를 호출 하는 경우 Deny 는 권한에 경우에 Demand 에 도달 하면 해당 보안 확인이 실패 한 해당 권한을 하위 호출 스택의 호출자가 호출 되는 Deny합니다.If a method calls Deny on a permission, and if a Demand for that permission is invoked by a caller lower in the call stack, that security check will fail when it reaches the Deny.

에 대 한 호출 Deny 호출 코드에서 호출자로 반환 될 때까지 유효 합니다.The call to Deny is effective until the calling code returns to its caller. 하나의 Deny 프레임 활성 상태일 수 있습니다.Only one Deny can be active on a frame. 호출 하려는 시도가 Deny 때 활성 Deny 프레임 결과 따라 존재를 SecurityException입니다.An attempt to call Deny when an active Deny exists on the frame results in a SecurityException. 호출 RevertDenyRevertAll 활성 제거할 Deny합니다.Call RevertDeny or RevertAll to remove an active Deny. Deny 해당 권한 요청에 실패 합니다 부여 되지 않은 사용 권한을 무시 됩니다.Deny is ignored for a permission not granted because a demand for that permission will not succeed.

상속자 참고

이 메서드를 재정의할 수 없습니다.You cannot override this method.

적용 대상