다음을 통해 공유


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
특성

설명

주의

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

중요

.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 어셈블리를 참조하세요.

생성자

StrongNameIdentityPermission(PermissionState)
사용되지 않음.

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

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

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

속성

Name
사용되지 않음.

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

PublicKey
사용되지 않음.

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

Version
사용되지 않음.

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

메서드

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)
사용되지 않음.

현재 사용 권한 및 지정한 사용 권한을 합한 사용 권한을 만듭니다.

적용 대상

추가 정보