다음을 통해 공유


ClaimsPrincipalPermissionAttribute 클래스

정의

현재 애플리케이션 컨텍스트의 ClaimsAuthorizationManager 인스턴스가 제공한 논리에서 액세스 검사를 선언적으로 할당하는 데 사용되는 보안 특성을 나타냅니다. 이 클래스는 상속될 수 없습니다.

public ref class ClaimsPrincipalPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, AllowMultiple=true)]
public sealed class ClaimsPrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, AllowMultiple=true)>]
type ClaimsPrincipalPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class ClaimsPrincipalPermissionAttribute
Inherits CodeAccessSecurityAttribute
상속
ClaimsPrincipalPermissionAttribute
특성

예제

다음 예제에서는 메서드를 사용 하 여 데코 레이트 하 여 보호 하는 방법의 ClaimsPrincipalPermissionAttribute 특성입니다. 특성에서 제공 하는 논리를 활용 하 여 액세스를 현재 보안 주체에 부여 해야 하는지 여부를 확인 합니다 ClaimsAuthorizationManager 애플리케이션 컨텍스트에서 인스턴스. 현재 보안 주체는 지정된 된 리소스에서 지정된 된 작업에 대 한 권한이 없는 경우는 SecurityException throw 되 고, 그렇지 않으면 실행이 진행 됩니다.


//
// Declarative access check using the permission class. The caller must satisfy both demands.
//
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "resource", Operation = "action")]
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "resource1", Operation = "action1")]
static void ProtectedMethod()
{
}

다음 XML 표시를 사용자 지정 클레임 권한 부여를 사용 하는 데 필요한 최소 구성을 사용 하 여 관리자는 ClaimsPrincipalPermissionAttribute 클래스입니다. 최소한 요소에서 system.identityModelsystem.identityModel.services 섹션 <configSection> 을 모두 선언한 다음 기본 ID 구성 아래의 claimsAuthorizationManager> 요소에서< 권한 부여 관리자를 지정해야 합니다. 이렇게 하면 권한 부여 관리자에 게 기본 페더레이션 구성에서 참조 되는 합니다. 또는 federationConfiguration> 요소의 특성에 권한 부여 관리자가 지정된 ID 구성의< 이름을 지정할 수 있습니다.identityConfigurationName

<?xml version="1.0" encoding="utf-8" ?>  
<configuration>  
  <configSections>  
    <!-- WIF configuration sections -->  
    <section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
    <section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
  </configSections>  

  <startup>  
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />  
  </startup>  

  <system.identityModel>  
    <identityConfiguration>  
      <claimsAuthorizationManager type ="MyClaimsAuthorizationManager.MyClaimsAuthorizationManager, MyClaimsAuthorizationManager"/>  
    </identityConfiguration>  
  </system.identityModel>  

</configuration>  

설명

합니다 ClaimsPrincipalPermissionAttribute 선언적으로 구성 된를 사용 하 여 액세스 검사를 요청 하는 데 사용 됩니다 ClaimsAuthorizationManager합니다.

중 하나를 지정 해야 합니다는 SecurityAction 값을 ResourceOperation 에서 프로그램 ClaimsPrincipalPermissionAttribute 선언 합니다. 합니다 Resource 하 고 Operation 리소스 및 동작의 속성 지정 현재 보안 주체 (Thread.CurrentPrincipal) 계속 하려면 실행에 대 한 권한이 있어야 합니다. 현재 보안 주체는 지정된 된 리소스에에서 지정 된 작업 (작업)을 수행할 권한이 없는 경우는 SecurityException throw 됩니다.

중요

ClaimsPrincipalPermissionAttribute 클래스에서 구성 된 클레임 인증 관리자를 사용 하는 IdentityConfiguration 아래에서 설정 된는 FederatedAuthentication.FederationConfiguration 속성. 이 WS-페더레이션 사용 되지 않습니다; 시나리오에도 모든 경우에는 예를 들어 활성 (WCF) 웹 애플리케이션 및 콘솔 애플리케이션입니다. 클레임 권한 부여 관리자 구성에서 또는 프로그래밍 방식으로 지정할 수 있습니다. 구성 파일에서 클레임 권한 부여 관리자를 지정하려면 identityConfiguration> 요소 아래에<claimsAuthorizationManager> 요소를 설정하고< 이 ID 구성이 런타임에 의해 <로드되는 federationConfiguration> 요소(예: 특성 설정identityConfigurationName)에서 참조되는지 확인합니다. 클레임 인증 관리자를 프로그래밍 방식으로 설정 하려면에 대 한 처리기를 제공 합니다 FederatedAuthentication.FederationConfigurationCreated 이벤트입니다.

생성자

ClaimsPrincipalPermissionAttribute(SecurityAction)

ClaimsPrincipalPermissionAttribute 클래스의 새 인스턴스를 초기화합니다.

속성

Action

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

(다음에서 상속됨 SecurityAttribute)
Operation

지정된 리소스에서 보안 주체가 권한을 부여 받아야 하는 작업을 가져오거나 설정합니다.

Resource

보안 주체가 지정된 동작(작업)을 수행하기 위해 권한을 부여 받아야 하는 리소스를 가져오거나 설정합니다.

TypeId

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

(다음에서 상속됨 Attribute)
Unrestricted

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

(다음에서 상속됨 SecurityAttribute)

메서드

CreatePermission()

현재 인스턴스를 기반으로 하는 ClaimsPrincipalPermission 클래스의 새 인스턴스를 만듭니다.

Equals(Object)

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

(다음에서 상속됨 Attribute)
GetHashCode()

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

(다음에서 상속됨 Attribute)
GetType()

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

(다음에서 상속됨 Object)
IsDefaultAttribute()

파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다.

(다음에서 상속됨 Attribute)
Match(Object)

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

(다음에서 상속됨 Attribute)
MemberwiseClone()

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

(다음에서 상속됨 Object)
ToString()

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

(다음에서 상속됨 Object)

명시적 인터페이스 구현

_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)

적용 대상

추가 정보