다음을 통해 공유


MethodBase.IsSecurityCritical 속성

정의

현재 메서드나 생성자가 현재 신뢰 수준에서 보안에 중요한 형식이거나 보안 안전에 중요한 형식이어서 중요한 작업을 수행할 수 있는지 여부를 나타내는 값을 가져옵니다.

public:
 virtual property bool IsSecurityCritical { bool get(); };
public virtual bool IsSecurityCritical { get; }
member this.IsSecurityCritical : bool
Public Overridable ReadOnly Property IsSecurityCritical As Boolean

속성 값

현재 메서드나 생성자가 현재 신뢰 수준에서 보안에 중요하거나 보안 안전에 중요한 경우 true이고 투명한 경우 false입니다.

설명

, IsSecuritySafeCriticalIsSecurityTransparent 속성은 IsSecurityCriticalCLR(공용 언어 런타임)에 의해 결정된 대로 메서드 또는 생성자의 투명도 수준을 현재 신뢰 수준에서 보고합니다. 이러한 속성의 조합은 다음 표에 나와 있습니다.

보안 수준 IsSecurityCritical IsSecuritySafeCritical IsSecurityTransparent
중요 true false false
안전 위험 true true false
투명 false false true

이러한 속성을 사용하는 것은 어셈블리 및 해당 형식 및 멤버의 보안 주석을 검사하고, 현재 신뢰 수준을 확인하고, 런타임의 규칙을 복제하는 것보다 훨씬 간단합니다.

중요

부분 신뢰 어셈블리의 경우 이 속성의 값은 어셈블리의 현재 신뢰 수준에 따라 달라집니다. 어셈블리를 부분적으로 신뢰할 수 있는 애플리케이션 도메인 (예: 샌드박스 애플리케이션 도메인)에 로드 하는 경우 런타임은 어셈블리의 보안 주석을 무시 합니다. 어셈블리 및 모든 형식은 투명으로 처리됩니다. 런타임이 해당 어셈블리를 완전히 신뢰할 수 있는 애플리케이션 도메인 (예를 들어, 데스크톱 애플리케이션의 기본 애플리케이션 도메인)에 로드 되는 경우에 부분 신뢰 어셈블리의 보안 주석에 주의 지불 합니다. 반면, 신뢰할 수 있는 어셈블리 (즉, 강력한 이름의 어셈블리를 전역 어셈블리 캐시에 설치 된)를 이므로 항상 애플리케이션 도메인의 신뢰 수준에 관계 없이 완전 신뢰를 사용 하 여 로드 된 현재 신뢰 수준 항상 완전히 신뢰할 수 있는 합니다. 사용 하 여 현재 신뢰 수준 어셈블리 및 애플리케이션 도메인을 확인할 수 있습니다 합니다 Assembly.IsFullyTrustedAppDomain.IsFullyTrusted 속성입니다.

리플렉션 및 투명성에 대한 자세한 내용은 리플렉션에 대한 보안 고려 사항을 참조하세요. 투명성에 대한 자세한 내용은 보안 변경을 참조하세요.

적용 대상

추가 정보