다음을 통해 공유


CodeAccessPermission.Deny 메서드

정의

주의

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

주의

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.

호출 스택의 상위 호출자가 이 메서드를 호출하는 코드를 통해 현재 인스턴스에서 지정한 리소스에 액세스하지 못하게 합니다.

public:
 virtual void Deny();
[System.Obsolete]
public void Deny ();
public void Deny ();
[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.")]
public void Deny ();
[<System.Obsolete>]
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
[<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.")>]
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
Public Sub Deny ()

구현

특성

예외

현재 프레임에 대해 활성 Deny()가 이미 있습니다.

설명

중요

메서드는 Deny 완전히 신뢰할 수 있는 코드로 실수로 액세스하지 않도록 리소스를 보호하는 데만 사용해야 합니다. 신뢰할 수 없는 코드에 의한 의도적인 오용으로부터 리소스를 보호하는 데 사용하면 안 됩니다. 예를 들어 메서드가 A 권한에 대해 을 Deny 발급한 다음 메서드 를 호출하는 경우 메서드 BB 는 를 실행Assert하여 를 재정의 Deny 할 수 있습니다. 호출된 메서드는 스택에서 항상 더 높습니다. 따라서 메서드 B 가 보호된 리소스에 액세스하려고 하면 메서드가 바로 호출자이므로 보안 시스템에서 해당 리소스에 대한 사용 권한을 B 확인하기 시작한 다음 스택을 따라 스택에 또는 더 낮은 항목이 없는 DenyPermitOnly 지 확인합니다. 리소스에 액세스하려는 메서드는 메서드 B를 사용하여 스택 워크를 즉시 중지할 Assert 수 있습니다. 이 경우 Deny 메서드(호출 메서드 A )를 기준으로 스택에 배치된 는 검색되지 않습니다.

이 메서드는 호출 스택의 상위 호출자가 해당 호출자가 액세스할 권한이 부여 된 경우에이 메서드를 호출 하는 코드를 통해 보호 되는 리소스에 액세스 하지 못하도록 방지 합니다. 호출 스택의 메서드 호출 스택의 상위에 메서드를 호출 낮은 호출 스택의 있도록에 일반적으로 하향식으로 표시 됩니다.

Deny 는 프로그래머의 책임을 제한하거나 거부된 권한으로 보호되는 리소스에 액세스하기 위해 호출 Deny 을 사용하는 메서드를 방지하는 데 도움이 되므로 우발적인 보안 문제를 방지할 수 있습니다. 메서드를 호출 하는 경우 Deny 는 권한에 경우에 Demand 에 도달 하면 해당 보안 확인이 실패 한 해당 권한을 하위 호출 스택의 호출자가 호출 되는 Deny합니다.

에 대한 Deny 호출은 호출 코드가 호출자에게 반환될 때까지 유효합니다. 프레임에서 하나 Deny 만 활성화할 수 있습니다. 프레임에 활성 Deny 이 있을 때 를 호출 Deny 하려고 하면 가 발생합니다SecurityException. 또는 RevertAll 를 호출 RevertDeny 하여 활성 Deny를 제거합니다. Deny 해당 권한 요청에 실패 합니다 부여 되지 않은 사용 권한을 무시 됩니다.

상속자 참고

이 메서드를 재정의할 수 없습니다.

적용 대상