StrongNameIdentityPermission 클래스

정의

주의

Code Access Security is not supported or honored by the runtime.

강력한 이름에 대한 ID 권한을 정의합니다. 이 클래스는 상속할 수 없습니다.

public ref class StrongNameIdentityPermission sealed : System::Security::CodeAccessPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
상속
StrongNameIdentityPermission
특성

설명

Caution

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

Important

.NET Framework 4부터 ID 권한은 사용되지 않습니다.

.NET Framework 버전 1.0 및 1.1에서는 ID 권한에 사용 권한 상태 값을 가질 Unrestricted 수 없습니다. .NET Framework 버전 2.0 이상에서는 ID 사용 권한에 사용 권한 상태 값이 있을 수 있습니다. 즉, 버전 2.0 이상 버전에서 ID 권한은 인터페이스를 구현하는 권한과 동일한 동작을 갖습니다 IUnrestrictedPermission . 즉, 어셈블리에 완전 신뢰가 부여된 경우 어셈블리의 ID에 관계없이 ID에 대한 요구는 항상 성공합니다.

호출 코드가 특정 강력한 이름의 코드 어셈블리에 있는지 확인하는 데 사용합니다 StrongNameIdentityPermission . 스택의 StrongNameIdentityPermission 모든 어셈블리에 수요를 충족할 수 있는 올바른 증거가 있는 경우에만 전체 요청이 성공합니다. 바로 호출자에게 올바른 증거가 있는 경우에만 특성을 사용하는 StrongNameIdentityPermissionAttribute 링크 요구가 성공합니다.

강력한 이름 ID는 BLOB(Binary Large Object)라는 암호화 공개 키를 기반으로 하며, 필요에 따라 특정 어셈블리의 이름 및 버전과 결합됩니다. 키는 고유한 네임스페이스를 정의하고 이름 정의가 해당 프라이빗 키로 서명된 어셈블리에 있어야 하므로 이름이 정품임을 강력하게 확인합니다.

강력한 이름 키의 유효성은 트러스트 관계 또는 키에 대해 발급되는 인증서에 종속되지 않습니다.

.NET Framework 버전 1.0 및 1.1에서는 호출 어셈블리가 완전히 신뢰할 수 있는 경우에도 ID 권한에 대한 요구가 적용됩니다. 즉, 호출 어셈블리에 완전 신뢰가 있더라도 어셈블리가 요구되는 조건을 충족하지 않으면 ID 권한에 대한 요구가 실패합니다. .NET Framework 버전 2.0 이상에서는 호출 어셈블리에 완전 신뢰가 있는 경우 ID 권한에 대한 요구가 효과적이지 않습니다. 이렇게 하면 모든 권한에 대한 일관성이 보장되고 ID 권한의 처리가 특별한 경우로 제거됩니다.

강력한 이름에 대한 전체 설명은 참조 페이지를 참조 StrongName 하세요. 강력한 이름의 어셈블리에 대한 자세한 내용은 강력한 이름의 어셈블리를 참조하세요.

클래스 StrongNameIdentityPermission 는 형식의 공용 멤버에 액세스하기 위한 강력한 이름 요구 사항을 정의하는 데 사용됩니다. 어 StrongNameIdentityPermissionAttribute 셈블리 수준에서 강력한 이름 요구 사항을 정의하는 데 특성을 사용할 수 있습니다. .NET Framework 버전 2.0 이상에서는 InternalsVisibleToAttribute 특성을 사용하여 해당 어셈블리의 모든 비공개 형식이 다른 어셈블리에 표시되도록 지정할 수도 있습니다. 자세한 내용은 Friend 어셈블리를 참조하세요.

생성자

Name Description
StrongNameIdentityPermission(PermissionState)
사용되지 않음.

지정된 클래스를 사용하여 클래스의 StrongNameIdentityPermission 새 인스턴스를 초기화합니다 PermissionState.

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)
사용되지 않음.

지정된 강력한 이름 ID에 StrongNameIdentityPermission 대한 클래스의 새 인스턴스를 초기화합니다.

속성

Name Description
Name
사용되지 않음.

강력한 이름 ID의 단순 이름 부분을 가져오거나 설정합니다.

PublicKey
사용되지 않음.

강력한 이름 ID 네임스페이스를 정의하는 공개 키 Blob을 가져오거나 설정합니다.

Version
사용되지 않음.

ID의 버전 번호를 가져오거나 설정합니다.

메서드

Name Description
Assert()
사용되지 않음.

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

(다음에서 상속됨 CodeAccessPermission)
Copy()
사용되지 않음.

현재 사용 권한의 동일한 복사본을 만들고 반환합니다.

Demand()
사용되지 않음.

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

(다음에서 상속됨 CodeAccessPermission)
Deny()
사용되지 않음.
사용되지 않음.

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

(다음에서 상속됨 CodeAccessPermission)
Equals(Object)
사용되지 않음.

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

(다음에서 상속됨 CodeAccessPermission)
FromXml(SecurityElement)
사용되지 않음.

XML 인코딩에서 지정된 상태로 사용 권한을 다시 구성합니다.

GetHashCode()
사용되지 않음.

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

(다음에서 상속됨 CodeAccessPermission)
GetType()
사용되지 않음.

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

(다음에서 상속됨 Object)
Intersect(IPermission)
사용되지 않음.

현재 사용 권한과 지정된 사용 권한의 교집합인 사용 권한을 만들고 반환합니다.

IsSubsetOf(IPermission)
사용되지 않음.

현재 사용 권한이 지정된 사용 권한의 하위 집합인지 여부를 확인합니다.

MemberwiseClone()
사용되지 않음.

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

(다음에서 상속됨 Object)
PermitOnly()
사용되지 않음.

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

(다음에서 상속됨 CodeAccessPermission)
ToString()
사용되지 않음.

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

(다음에서 상속됨 CodeAccessPermission)
ToXml()
사용되지 않음.

권한 및 현재 상태의 XML 인코딩을 만듭니다.

Union(IPermission)
사용되지 않음.

현재 사용 권한과 지정된 사용 권한의 합합인 사용 권한을 만듭니다.

적용 대상

추가 정보