CodeAccessPermission 클래스

정의

모든 코드 액세스 권한의 기본 구조를 정의합니다.

public ref class CodeAccessPermission abstract : System::Security::IPermission, System::Security::IStackWalk
[System.Serializable]
public abstract class CodeAccessPermission : System.Security.IPermission, System.Security.IStackWalk
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class CodeAccessPermission : System.Security.IPermission, System.Security.IStackWalk
[<System.Serializable>]
type CodeAccessPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IStackWalk
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CodeAccessPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IStackWalk
Public MustInherit Class CodeAccessPermission
Implements IPermission, IStackWalk
상속
CodeAccessPermission
파생
특성
구현

설명

Caution

CAS(코드 액세스 보안)는 모든 버전의 .NET Framework 및 .NET에서 더 이상 사용되지 않습니다. 최신 버전의 .NET은 CAS 주석을 준수하지 않으며 CAS 관련 API를 사용하는 경우 오류가 발생합니다. 개발자는 보안 작업을 수행하는 다른 방법을 찾아야 합니다.

코드 액세스 권한은 스택 워크를 사용하여 코드의 모든 호출자에게 사용 권한이 부여되었는지 확인합니다. 사용 권한 개체인 null경우 상태가 PermissionState.None있는 사용 권한 개체와 동일하게 처리됩니다.

호출 스택은 일반적으로 아래로 증가하는 것으로 표시되므로 호출 스택 호출 메서드에서 더 높은 메서드는 호출 스택에서 더 낮습니다.

클래스의 상속자가 보안 인프라 확장 권한을 올바르게 수행할 수 있도록 하기 위해서는 완전한 신뢰가 부여되어야 합니다. 상속자가 완전히 신뢰할 수 CodeAccessPermission 있는지 확인하려면 for = ControlEvidencetrue 및 .ControlPolicy = trueInheritanceDemand

구현자 참고

상속할 CodeAccessPermission때 인터페이스도 구현 IUnrestrictedPermission 해야 합니다.

다음 CodeAccessPermission 멤버를 재정ToXml()Union(IPermission)Copy()Intersect(IPermission)IsSubsetOf(IPermission)FromXml(SecurityElement)의해야 합니다.

또한 유일한 매개 변수로 사용하는 PermissionState 생성자를 정의해야 합니다.

에서 상속CodeAccessPermission되는 SerializableAttribute 클래스에 특성을 적용해야 합니다.

생성자

Name Description
CodeAccessPermission()

CodeAccessPermission 클래스의 새 인스턴스를 초기화합니다.

메서드

Name Description
Assert()

호출 코드가 이 메서드를 호출하는 코드를 통해 권한 요구로 보호되는 리소스에 액세스할 수 있음을 선언합니다. 스택의 상위 호출자에게 리소스에 대한 액세스 권한이 부여되지 않은 경우에도 해당 메서드를 호출합니다. 사용하면 Assert() 보안 문제가 발생할 수 있습니다.

Copy()

파생 클래스에서 구현되는 경우 현재 권한 개체의 동일한 복사본을 만들고 반환합니다.

Demand()

SecurityException 호출 스택의 모든 호출자에게 현재 인스턴스에서 지정한 권한이 부여되지 않은 경우 런타임에 강제로 실행합니다.

Deny()
사용되지 않음.

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

Equals(Object)

지정된 CodeAccessPermission 개체가 현재 CodeAccessPermission개체와 같은지 여부를 확인합니다.

Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
FromXml(SecurityElement)

파생 클래스에서 재정의되는 경우 XML 인코딩에서 지정된 상태로 보안 개체를 다시 구성합니다.

GetHashCode()

해시 알고리즘 및 해시 테이블과 같은 데이터 구조에 사용하기에 적합한 개체에 대한 CodeAccessPermission 해시 코드를 가져옵니다.

GetHashCode()

기본 해시 함수로 작동합니다.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
Intersect(IPermission)

파생 클래스에서 구현되는 경우 현재 사용 권한과 지정된 사용 권한의 교집합인 사용 권한을 만들고 반환합니다.

IsSubsetOf(IPermission)

파생 클래스에서 구현되는 경우 현재 사용 권한이 지정된 사용 권한의 하위 집합인지 여부를 결정합니다.

MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
PermitOnly()

호출 스택의 상위 호출자가 현재 인스턴스에서 지정한 리소스를 제외한 모든 리소스에 액세스하기 위해 이 메서드를 호출하는 코드를 사용하지 못하도록 합니다.

RevertAll()

현재 프레임에 대한 이전의 모든 재정의가 제거되고 더 이상 적용되지 않습니다.

RevertAssert()

현재 프레임에 대한 이전 Assert() 항목이 제거되고 더 이상 적용되지 않습니다.

RevertDeny()
사용되지 않음.

현재 프레임에 대한 이전 Deny() 항목이 제거되고 더 이상 적용되지 않습니다.

RevertPermitOnly()

현재 프레임에 대한 이전 PermitOnly() 항목이 제거되고 더 이상 적용되지 않습니다.

ToString()

현재 권한 개체의 문자열 표현을 만들고 반환합니다.

ToXml()

파생 클래스에서 재정의되는 경우 보안 개체 및 현재 상태의 XML 인코딩을 만듭니다.

Union(IPermission)

파생 클래스에서 재정의되는 경우 현재 사용 권한과 지정된 사용 권한의 합합인 사용 권한을 만듭니다.

적용 대상