MethodBase.IsSecuritySafeCritical 속성

정의

현재 메서드나 생성자가 현재 신뢰 수준에서 보안 안전에 중요한 형식인지 즉, 중요한 작업을 수행할 수 있고 투명 코드로 액세스할 수 있는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the current method or constructor is security-safe-critical at the current trust level; that is, whether it can perform critical operations and can be accessed by transparent code.

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

속성 값

현재 메서드나 생성자가 현재 신뢰 수준에서 보안 안전에 중요한 경우 true이고 보안에 중요하거나 투명한 경우 false입니다.true if the method or constructor is security-safe-critical at the current trust level; false if it is security-critical or transparent.

설명

IsSecurityCritical, IsSecuritySafeCriticalIsSecurityTransparent 속성은 CLR (공용 언어 런타임)에 의해 결정 된 대로 현재 신뢰 수준에서 메서드나 생성자의 투명도 수준을 보고 합니다.The IsSecurityCritical, IsSecuritySafeCritical, and IsSecurityTransparent properties report the transparency level of the method or constructor at its current trust level, as determined by the common language runtime (CLR). 이러한 속성의 조합도 표에 표시 됩니다.The combinations of these properties are shown in the following table:

보안 수준Security level IsSecurityCriticalIsSecurityCritical IsSecuritySafeCriticalIsSecuritySafeCritical IsSecurityTransparentIsSecurityTransparent
위험Critical true false false
안전 중요Safe critical true true false
투명Transparent false false true

이러한 속성을 사용 하는 것은 어셈블리 및 해당 형식과 멤버의 보안 주석을 검사 하 고 현재 신뢰 수준 검사 런타임 규칙을 복제 하는 보다 훨씬 간단 합니다.Using these properties is much simpler than examining the security annotations of an assembly and its types and members, checking the current trust level, and attempting to duplicate the runtime's rules.

중요

부분 신뢰 어셈블리에 대 한이 속성은 어셈블리의 현재 신뢰 수준에 따라 달라 집니다.For partial-trust assemblies, the value of this property depends on the current trust level of the assembly. 어셈블리를 부분적으로 신뢰할 수 있는 애플리케이션 도메인 (예: 샌드박스 애플리케이션 도메인)에 로드 하는 경우 런타임은 어셈블리의 보안 주석을 무시 합니다.If the assembly is loaded into a partially trusted application domain (for example, into a sandboxed application domain), the runtime ignores the security annotations of the assembly. 어셈블리 및 모든 해당 형식은 투명 하 게 처리 됩니다.The assembly and all its types are treated as transparent. 런타임이 해당 어셈블리를 완전히 신뢰할 수 있는 애플리케이션 도메인 (예를 들어, 데스크톱 애플리케이션의 기본 애플리케이션 도메인)에 로드 되는 경우에 부분 신뢰 어셈블리의 보안 주석에 주의 지불 합니다.The runtime pays attention to the security annotations of a partial-trust assembly only when that assembly is loaded into a fully trusted application domain (for example, into the default application domain of a desktop application). 반면, 신뢰할 수 있는 어셈블리 (즉, 강력한 이름의 어셈블리를 전역 어셈블리 캐시에 설치 된)를 이므로 항상 애플리케이션 도메인의 신뢰 수준에 관계 없이 완전 신뢰를 사용 하 여 로드 된 현재 신뢰 수준 항상 완전히 신뢰할 수 있는 합니다.By contrast, a trusted assembly (that is, a strong-named assembly that is installed in the global assembly cache) is always loaded with full trust regardless of the trust level of the application domain, so its current trust level is always fully trusted. 사용 하 여 현재 신뢰 수준 어셈블리 및 애플리케이션 도메인을 확인할 수 있습니다 합니다 Assembly.IsFullyTrustedAppDomain.IsFullyTrusted 속성입니다.You can determine the current trust levels of assemblies and application domains by using the Assembly.IsFullyTrusted and AppDomain.IsFullyTrusted properties.

리플렉션 및 투명성에 대 한 자세한 내용은 리플렉션의 보안 고려 사항을 참조 하세요.For more information about reflection and transparency, see Security Considerations for Reflection. 투명성에 대 한 자세한 내용은 보안 변경 내용을 참조 하세요.For information about transparency, see Security Changes.

적용 대상

추가 정보