ClaimsAuthenticationManager ClaimsAuthenticationManager ClaimsAuthenticationManager ClaimsAuthenticationManager Class

정의

클레임 인증 관리자에 대한 기본 구현을 정의합니다.Defines the base implementation for a claims authentication manager. 클레임 인증 관리자는 실행이 애플리케이션 코드에 도달하기 전에 수신 주체에서 클레임 컬렉션에 처리 로직(필터링, 유효성 검사, 확장)을 적용하기 위한 장소를 클레임 처리 파이프라인에 제공합니다.The claims authentication manager provides a place in the claims processing pipeline for applying processing logic (filtering, validation, extension) to the claims collection in the incoming principal before execution reaches your application code.

public ref class ClaimsAuthenticationManager : System::IdentityModel::Configuration::ICustomIdentityConfiguration
public class ClaimsAuthenticationManager : System.IdentityModel.Configuration.ICustomIdentityConfiguration
type ClaimsAuthenticationManager = class
    interface ICustomIdentityConfiguration
Public Class ClaimsAuthenticationManager
Implements ICustomIdentityConfiguration
상속
ClaimsAuthenticationManagerClaimsAuthenticationManagerClaimsAuthenticationManagerClaimsAuthenticationManager
구현

예제

다음 코드는 들어오는 클레임에 대 한 검사를 수행 하지 않고 들어오는 주체에 역할 클레임을 추가 하는 간단한 클레임 인증 관리자를 보여 줍니다.The following code shows a simple claims authentication manager that adds a role claim to the incoming principal without performing any check on the incoming claims.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Security.Claims;

namespace MyClaimsAuthenticationManager
{
    class SimpleClaimsAuthenticatonManager : ClaimsAuthenticationManager
    {
        public override ClaimsPrincipal Authenticate(string resourceName, ClaimsPrincipal incomingPrincipal)
        {
            if (incomingPrincipal != null && incomingPrincipal.Identity.IsAuthenticated == true)
            {
                ((ClaimsIdentity)incomingPrincipal.Identity).AddClaim(new Claim(ClaimTypes.Role, "User"));
            }
            return incomingPrincipal; 
        }
    }
}

에서는 다음 XML은 <claimsAuthenticationManager> 요소입니다.The following XML shows the <claimsAuthenticationManager> element.

<system.identityModel>  
  <identityConfiguration>  
    <claimsAuthenticationManager type="MyClaimsAuthenticationManager.SimpleClaimsAuthenticatonManager, MyClaimsAuthenticationManager" />  

    ...  

  </identityConfiguration>  
</system.identityModel>  

설명

클레임 인증 관리자 제공 애플리케이션의 확장성 지점을 클레임의 유효성을 검사, 필터링, 수정 하는 데 사용할 수 있는 처리 파이프라인을 들어오는 클레임 또는 새 클레임을 나타내는 클레임 집합이 삽입 된 ClaimsPrincipal RP 하기 전에 애플리케이션 코드가 실행 됩니다.The claims authentication manager provides an extensibility point in the application's claims processing pipeline that you can use to validate, filter, modify, incoming claims or inject new claims into the set of claims presented by a ClaimsPrincipal before the RP application code is executed. 사용자 지정 구현도 반환할 수 있습니다 ClaimsPrincipal RP 애플리케이션에 필요한 경우.You can even return a custom implementation of ClaimsPrincipal if your RP application requires it. 하지만 제공 하는 기본 구현을 ClaimsAuthenticationManager 클래스에서 클레임을 반환 합니다.는 ClaimsPrincipal 수정 되지 않은;이 클래스에서 파생 하 고 재정의할 수 있습니다를 Authenticate 의 클레임을 수정 하는 방법의 ClaimsPrincipal (또는 사용자 지정을 반환할 ClaimsPrincipal).The default implementation provided by the ClaimsAuthenticationManager class returns the claims in the ClaimsPrincipal unmodified; however, you can derive from this class and override the Authenticate method to modify the claims in the ClaimsPrincipal (or to return a custom ClaimsPrincipal).

사용자 지정 클레임 인증 관리자를 만들기 위한 일반적인 이유 추가, 제거 또는 알려져 또는 RP 애플리케이션에서 더 잘 유지 관리 것 인 정보를 기반으로 하는 클레임을 변환 하는 것입니다.A typical reason for creating a custom claims authentication manager is to add, remove, or transform claims based on information that is only known by or is, perhaps, better maintained by the RP application. RP 애플리케이션에서 유지 관리 하 고 있는 이름 클레임의 값을 기반으로 클레임 인증 관리자에서 반환 된 클레임 보안 주체에 추가 하는 데이터 기 쇼핑 카트 애플리케이션의 고객 구매 기록을 수 유지 하는 예를 들어 합니다 들어오는 보안 주체입니다.For example, a history of customer purchases in a shopping cart application might be kept in a data base maintained by the RP application and then added to the claims principal returned by the claims authentication manager based on the value of a name claim found in the incoming principal.

사용 하도록 애플리케이션을 구성할 수 있습니다는 ClaimsAuthenticationManager 를 사용 하 여 프로그래밍 방식으로 IdentityConfiguration 클래스를 통해 구성 합니다 <claimsAuthenticationManager> 요소 ( 자식 요소는 합니다 <identityConfiguration> 요소).You can configure your application to use a ClaimsAuthenticationManager either programmatically by using the IdentityConfiguration class or in configuration through the <claimsAuthenticationManager> element (which is a child element of the <identityConfiguration> element). 재정의할 수 있습니다 합니다 LoadCustomConfiguration 사용자 지정 자식 요소에 대 한 처리를 제공 하는 메서드는 <claimsAuthenticationManager> 요소는 사용자 지정 관리자를 구성할 수 있습니다.You can override the LoadCustomConfiguration method to provide processing for custom child elements of the <claimsAuthenticationManager> element through which your custom manager can be configured. 기본 구현을 ClaimsAuthenticationManager 임의 자식 요소를 처리 하지 않습니다.The base implementation of ClaimsAuthenticationManager does not handle any child elements.

클레임 인증 관리자를 사용 하도록 애플리케이션을 구성 하는 호출 되며 Windows Identity Foundation (WIF)으로 요청 파이프라인에서 확인 합니다.Configuring your application to use a claims authentication manager ensures that it will be invoked by Windows Identity Foundation (WIF) from the request pipeline.

생성자

ClaimsAuthenticationManager() ClaimsAuthenticationManager() ClaimsAuthenticationManager() ClaimsAuthenticationManager()

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

메서드

Authenticate(String, ClaimsPrincipal) Authenticate(String, ClaimsPrincipal) Authenticate(String, ClaimsPrincipal) Authenticate(String, ClaimsPrincipal)

파생된 클래스에서 재정의된 경우 RP 애플리케이션의 요구 사항과 일관된 ClaimsPrincipal 개체를 반환합니다.When overridden in a derived class, returns a ClaimsPrincipal object consistent with the requirements of the RP application. 기본 구현은 들어오는 ClaimsPrincipal을 수정하지 않습니다.The default implementation does not modify the incoming ClaimsPrincipal.

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

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
LoadCustomConfiguration(XmlNodeList) LoadCustomConfiguration(XmlNodeList) LoadCustomConfiguration(XmlNodeList) LoadCustomConfiguration(XmlNodeList)

파생 클래스에서 재정의되는 경우 XML에서 사용자 지정 구성을 로드합니다.When overridden in a derived class, loads custom configuration from XML.

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)

적용 대상