PrincipalPermission 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
주의
Code Access Security is not supported or honored by the runtime.
선언적 보안 작업과 명령적 보안 작업 모두에 대해 정의된 언어 구문을 사용하여 활성 보안 주체(참조 IPrincipal)에 대한 검사를 허용합니다. 이 클래스는 상속할 수 없습니다.
public ref class PrincipalPermission sealed : System::Security::IPermission, System::Security::Permissions::IUnrestrictedPermission
[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 PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type PrincipalPermission = class
interface IPermission
interface ISecurityEncodable
interface IUnrestrictedPermission
[<System.Serializable>]
type PrincipalPermission = class
interface IPermission
interface IUnrestrictedPermission
interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
interface IPermission
interface IUnrestrictedPermission
interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
interface IPermission
interface ISecurityEncodable
interface IUnrestrictedPermission
type PrincipalPermission = class
interface IPermission
interface ISecurityEncodable
interface IUnrestrictedPermission
Public NotInheritable Class PrincipalPermission
Implements IPermission, IUnrestrictedPermission
- 상속
-
PrincipalPermission
- 특성
- 구현
설명
Caution
CAS(코드 액세스 보안)는 모든 버전의 .NET Framework 및 .NET에서 더 이상 사용되지 않습니다. 최신 버전의 .NET은 CAS 주석을 준수하지 않으며 CAS 관련 API를 사용하는 경우 오류가 발생합니다. 개발자는 보안 작업을 수행하는 다른 방법을 찾아야 합니다.
ID 정보(사용자 이름 및 역할)를 생성자에 PrincipalPermission 전달하여 활성 보안 주체의 ID가 이 정보와 일치하도록 요구할 수 있습니다.
활성 IPrincipal 및 연관된 IIdentity와 일치하려면, 지정된 ID와 역할이 모두 일치해야 합니다. ID 문자열을 사용하는 경우, 이는 어떤 신원과도 일치시키려는 요청으로 해석됩니다. 역할 문자열 사용 null 은 모든 역할과 일치합니다. 의미상, 매개 변수를 null 전달 name 하거나 role 전달하면 PrincipalPermission 임의의 IPrincipalID 및 역할과 일치합니다. 인증된 엔터티 또는 인증되지 않은 엔터티를 나타내는지 여부 PrincipalPermission 만 결정하는 생성도 가능합니다IIdentity. 이 경우 namerole 무시됩니다.
대부분의 다른 권한과 달리 확장 PrincipalPermissionCodeAccessPermission되지 않습니다. 그러나 인터페이스를 구현합니다 IPermission . 이는 코드 액세스 권한이 아니기 때문 PrincipalPermission 입니다. 즉, 실행 중인 어셈블리의 ID에 따라 부여되지 않습니다. 대신 코드에서 코드 액세스 및 코드 ID 권한에 대해 해당 작업이 수행되는 방식과 일치하는 방식으로 현재 사용자 ID에 대해 작업(DemandUnionIntersect, 및 등)을 수행할 수 있습니다.
Important
보안 주체 권한을 요구하기 전에 현재 애플리케이션 도메인의 주 정책을 열거형 값 WindowsPrincipal으로 설정해야 합니다. 기본적으로 주 정책은 .로 설정됩니다 UnauthenticatedPrincipal. 주 정책을 WindowsPrincipal설정하지 않으면 보안 주체 권한에 대한 요구가 실패합니다. 보안 주체 권한이 요구되기 전에 다음 코드를 실행해야 합니다.
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).
생성자
| Name | Description |
|---|---|
| PrincipalPermission(PermissionState) |
사용되지 않음.
지정된 클래스를 사용하여 클래스의 PrincipalPermission 새 인스턴스를 초기화합니다 PermissionState. |
| PrincipalPermission(String, String, Boolean) |
사용되지 않음.
지정된 및 인증 상태에 대한 클래스의 PrincipalPermission 새 인스턴스를 |
| PrincipalPermission(String, String) |
사용되지 않음.
지정된 PrincipalPermission 클래스 및 에 대한 클래스의 |
메서드
| Name | Description |
|---|---|
| Copy() |
사용되지 않음.
현재 사용 권한의 동일한 복사본을 만들고 반환합니다. |
| Demand() |
사용되지 않음.
런타임에 현재 보안 주체가 현재 권한으로 지정된 보안 주체와 일치하는지 여부를 결정합니다. |
| Equals(Object) |
사용되지 않음.
지정된 PrincipalPermission 개체가 현재 PrincipalPermission개체와 같은지 여부를 확인합니다. |
| Equals(Object) |
사용되지 않음.
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
| FromXml(SecurityElement) |
사용되지 않음.
XML 인코딩에서 지정된 상태로 사용 권한을 다시 구성합니다. |
| GetHashCode() |
사용되지 않음.
해시 알고리즘 및 해시 테이블과 같은 데이터 구조에 사용하기에 적합한 개체에 대한 PrincipalPermission 해시 코드를 가져옵니다. |
| GetHashCode() |
사용되지 않음.
기본 해시 함수로 사용됩니다. (다음에서 상속됨 Object) |
| GetType() |
사용되지 않음.
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
| Intersect(IPermission) |
사용되지 않음.
현재 사용 권한과 지정된 사용 권한의 교집합인 사용 권한을 만들고 반환합니다. |
| IsSubsetOf(IPermission) |
사용되지 않음.
현재 사용 권한이 지정된 사용 권한의 하위 집합인지 여부를 확인합니다. |
| IsUnrestricted() |
사용되지 않음.
현재 사용 권한이 제한되지 않는지 여부를 나타내는 값을 반환합니다. |
| MemberwiseClone() |
사용되지 않음.
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
| ToString() |
사용되지 않음.
현재 사용 권한을 나타내는 문자열을 만들고 반환합니다. |
| ToXml() |
사용되지 않음.
권한 및 현재 상태의 XML 인코딩을 만듭니다. |
| Union(IPermission) |
사용되지 않음.
현재 사용 권한과 지정된 사용 권한의 합합인 사용 권한을 만듭니다. |