PrincipalPermissionAttribute 클래스

정의

주의

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

선언적 보안을 사용하여 코드에 PrincipalPermission 보안 작업을 적용할 수 있습니다. 이 클래스는 상속할 수 없습니다.

public ref class PrincipalPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
[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 PrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
[System.Serializable]
public sealed class PrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class PrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
public sealed class PrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type PrincipalPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
type PrincipalPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
type PrincipalPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class PrincipalPermissionAttribute
Inherits CodeAccessSecurityAttribute
상속
특성

설명

Caution

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

PrincipalPermissionAttribute 은 코드를 실행하는 사용자가 지정된 역할에 속하거나 인증되었음을 선언적으로 요구하는 데 사용할 수 있습니다. Unrestricted의 사용은 PrincipalPermission를 만들고 Authenticatedtrue에 설정하며, NameRolenull에 설정합니다.

허용되는 선언의 범위는 사용되는 선언에 SecurityAction 따라 달라집니다. PrincipalPermissionAttribute 어셈블리 수준에서 적용할 수 없습니다.

보안 특성에 의해 선언된 보안 정보는 특성 대상의 메타데이터에 저장되며 런타임에 시스템에서 액세스합니다. 보안 특성은 선언적 보안에만 사용됩니다. 명령적 보안의 경우 해당 권한 클래스를 사용합니다.

Important

이 클래스를 사용하여 보안 주체 권한을 요구하려면 먼저 현재 애플리케이션 도메인의 주 정책을 열거형 값 WindowsPrincipal으로 설정해야 합니다. 기본적으로 주 정책은 .로 설정됩니다 UnauthenticatedPrincipal. 주 정책을 WindowsPrincipal설정하지 않으면 보안 주체 권한에 대한 요구가 실패합니다. 보안 주체 권한이 요구되기 전에 다음 코드를 실행해야 합니다. AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).

생성자

Name Description
PrincipalPermissionAttribute(SecurityAction)
사용되지 않음.

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

속성

Name Description
Action
사용되지 않음.

보안 동작을 가져오거나 설정합니다.

(다음에서 상속됨 SecurityAttribute)
Authenticated
사용되지 않음.

현재 보안 주체가 기본 역할 기반 보안 공급자에 의해 인증되었는지 여부를 나타내는 값을 가져오거나 설정합니다.

Name
사용되지 않음.

현재 보안 주체와 연결된 ID의 이름을 가져오거나 설정합니다.

Role
사용되지 않음.

지정된 보안 역할의 멤버 자격을 가져오거나 설정합니다.

TypeId
사용되지 않음.

파생 클래스에서 구현되는 경우 이 Attribute대한 고유 식별자를 가져옵니다.

(다음에서 상속됨 Attribute)
Unrestricted
사용되지 않음.

특성으로 보호되는 리소스에 대한 전체(무제한) 권한이 선언되는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 SecurityAttribute)

메서드

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

PrincipalPermission를 만들고 반환합니다.

Equals(Object)
사용되지 않음.

이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
GetHashCode()
사용되지 않음.

이 인스턴스의 해시 코드를 반환합니다.

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

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

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

파생 클래스에서 재정의되는 경우 이 인스턴스의 값이 파생 클래스의 기본값인지 여부를 나타냅니다.

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

파생 클래스에서 재정의되는 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.

(다음에서 상속됨 Attribute)
MemberwiseClone()
사용되지 않음.

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

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

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

명시적 인터페이스 구현

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)
사용되지 않음.

이름 집합을 해당 디스패치 식별자 집합에 매핑합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)
사용되지 않음.

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.

(다음에서 상속됨 Attribute)
_Attribute.GetTypeInfoCount(UInt32)
사용되지 않음.

개체가 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).

(다음에서 상속됨 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)
사용되지 않음.

개체에 의해 노출되는 속성 및 메서드에 대한 액세스를 제공합니다.

(다음에서 상속됨 Attribute)

적용 대상

추가 정보