ClaimsPrincipalPermissionAttribute ClaimsPrincipalPermissionAttribute ClaimsPrincipalPermissionAttribute ClaimsPrincipalPermissionAttribute Class

정의

현재 애플리케이션 컨텍스트의 ClaimsAuthorizationManager 인스턴스가 제공한 논리에서 액세스 검사를 선언적으로 할당하는 데 사용되는 보안 특성을 나타냅니다.Represents a security attribute used to declaratively assign access checks based on the logic provided by the ClaimsAuthorizationManager instance in the current application context. 이 클래스는 상속될 수 없습니다.This class cannot be inherited.

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
type ClaimsPrincipalPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class ClaimsPrincipalPermissionAttribute
Inherits CodeAccessSecurityAttribute
상속
특성

예제

다음 예제에서는 메서드를 사용 하 여 데코 레이트 하 여 보호 하는 방법의 ClaimsPrincipalPermissionAttribute 특성입니다.The following example shows how to protect a method by decorating it with the ClaimsPrincipalPermissionAttribute attribute. 특성에서 제공 하는 논리를 활용 하 여 액세스를 현재 보안 주체에 부여 해야 하는지 여부를 확인 합니다 ClaimsAuthorizationManager 애플리케이션 컨텍스트에서 인스턴스.The attribute will evaluate whether access should be granted to the current principal by leveraging the logic provided by the ClaimsAuthorizationManager instance in the application context. 현재 보안 주체는 지정된 된 리소스에서 지정된 된 작업에 대 한 권한이 없는 경우는 SecurityException throw 되 고, 그렇지 않으면 실행이 진행 됩니다.If the current principal is not authorized for the specified action on the specified resource, a SecurityException is thrown; otherwise, execution proceeds.


//
// 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 클래스입니다.The following XML shows the minimum configuration required to use a custom claims authorization manager with the ClaimsPrincipalPermissionAttribute class. 선언 해야 합니다, 여기에 최소한 둘 다를 system.identityModelsystem.identityModel.services 섹션을 <configSection> 요소에서 권한 부여 관리자를 지정 합니다는 <claimsAuthorizationManager> 요소 아래에 있는 기본 id 구성이 있습니다.You must, at a minimum, declare both the system.identityModel and the system.identityModel.services sections in the <configSection> element and then specify your authorization manager in a <claimsAuthorizationManager> element under the default identity configuration. 이렇게 하면 권한 부여 관리자에 게 기본 페더레이션 구성에서 참조 되는 합니다.This will ensure that your authorization manager is referenced from the default federation configuration. 또는는 권한 부여 관리자에 지정 된 id 구성의 이름을 지정할 수 있습니다는 identityConfigurationName 특성을 <federationConfiguration> 요소입니다.Alternatively, you can specify the name of the identity configuration under which your authorization manager is specified in the identityConfigurationName attribute of the <federationConfiguration> element.

<?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합니다.The ClaimsPrincipalPermissionAttribute is used to declaratively request an access check using the configured ClaimsAuthorizationManager.

중 하나를 지정 해야 합니다는 SecurityAction 값을 ResourceOperation 에서 프로그램 ClaimsPrincipalPermissionAttribute 선언 합니다.You must specify one of the SecurityAction values, a Resource and an Operation in your ClaimsPrincipalPermissionAttribute declaration. 합니다 Resource 하 고 Operation 리소스 및 동작의 속성 지정 현재 보안 주체 (Thread.CurrentPrincipal) 계속 하려면 실행에 대 한 권한이 있어야 합니다.The Resource and Operation properties specify the resource and action for which the current principal (Thread.CurrentPrincipal) must be authorized for execution to proceed. 현재 보안 주체는 지정된 된 리소스에에서 지정 된 작업 (작업)을 수행할 권한이 없는 경우는 SecurityException throw 됩니다.If the current principal is not authorized to perform the specified action (operation) on the specified resource, a SecurityException is thrown.

중요

ClaimsPrincipalPermissionAttribute 클래스에서 구성 된 클레임 인증 관리자를 사용 하는 IdentityConfiguration 아래에서 설정 된는 FederatedAuthentication.FederationConfiguration 속성.The ClaimsPrincipalPermissionAttribute class uses the claims authorization manager configured by the IdentityConfiguration that is set under the FederatedAuthentication.FederationConfiguration property. 이 WS-페더레이션 사용 되지 않습니다; 시나리오에도 모든 경우에는 예를 들어 활성 (WCF) 웹 애플리케이션 및 콘솔 애플리케이션입니다.This is true in all cases, even in scenarios where WS-Federation is not used; for example, active (WCF) Web applications and Console applications. 클레임 권한 부여 관리자 구성에서 또는 프로그래밍 방식으로 지정할 수 있습니다.You can specify the claims authorization manager either in configuration or programmatically. 구성 파일에서 클레임 권한 부여 관리자를 지정 하려면 설정 합니다 <claimsAuthorizationManager> 요소 아래에 있는 <identityConfiguration> 요소에서이 id 구성을 참조 하는지 확인 합니다 <federationConfiguration> 런타임에 의해 로드 되는 요소 (예를 들어, 여 설정 된 identityConfigurationName 특성).To specify the claims authorization manager in a configuration file, set the <claimsAuthorizationManager> element under an <identityConfiguration> element and ensure that this identity configuration is referenced by the <federationConfiguration> element that is loaded by the runtime (for example, by setting the identityConfigurationName attribute). 클레임 인증 관리자를 프로그래밍 방식으로 설정 하려면에 대 한 처리기를 제공 합니다 FederatedAuthentication.FederationConfigurationCreated 이벤트입니다.To set the claims authorization manager programmatically, provide a handler for the FederatedAuthentication.FederationConfigurationCreated event.

생성자

ClaimsPrincipalPermissionAttribute(SecurityAction) ClaimsPrincipalPermissionAttribute(SecurityAction) ClaimsPrincipalPermissionAttribute(SecurityAction) ClaimsPrincipalPermissionAttribute(SecurityAction)

ClaimsPrincipalPermissionAttribute 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ClaimsPrincipalPermissionAttribute class.

속성

Action Action Action Action

보안 동작을 가져오거나 설정합니다.Gets or sets a security action.

(Inherited from SecurityAttribute)
Operation Operation Operation Operation

지정된 리소스에서 보안 주체가 권한을 부여 받아야 하는 작업을 가져오거나 설정합니다.Gets or sets the operation for which the current principal should be authorized on the specified resource.

Resource Resource Resource Resource

보안 주체가 지정된 동작(작업)을 수행하기 위해 권한을 부여 받아야 하는 리소스를 가져오거나 설정합니다.Gets or sets the resource on which the principal should be authorized to perform the specified action (operation).

TypeId TypeId TypeId TypeId

파생 클래스에서 구현된 경우 이 Attribute에 대한 고유 식별자를 가져옵니다.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)
Unrestricted Unrestricted Unrestricted Unrestricted

해당 특성에 의해 보호되는 리소스에 대해 전체(무제한) 권한이 선언되는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value indicating whether full (unrestricted) permission to the resource protected by the attribute is declared.

(Inherited from SecurityAttribute)

메서드

CreatePermission() CreatePermission() CreatePermission() CreatePermission()

현재 인스턴스를 기반으로 하는 ClaimsPrincipalPermission 클래스의 새 인스턴스를 만듭니다.Creates new instance of the ClaimsPrincipalPermission class that is based on the current instance.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

이 인스턴스가 지정한 개체와 같은지를 나타내는 값을 반환합니다.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

파생 클래스에서 재정의된 경우 이 인스턴스 값이 파생 클래스에 대한 기본값인지 여부를 표시합니다.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

파생 클래스에서 재정의된 경우 이 인스턴스가 지정된 개체와 같은지 여부를 나타내는 값을 반환합니다.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(Inherited from Object)

명시적 인터페이스 구현

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

이름 집합을 해당하는 디스패치 식별자 집합에 매핑합니다.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

인터페이스의 형식 정보를 가져오는 데 사용할 수 있는 개체의 형식 정보를 검색합니다.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

개체에서 제공하는 형식 정보 인터페이스의 수를 검색합니다(0 또는 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

개체에서 노출하는 메서드와 속성에 대한 액세스를 제공합니다.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

적용 대상

추가 정보