Поделиться через


ClaimsAuthenticationManager Класс

Определение

Определяет базовую реализацию диспетчера аутентификации утверждений. Диспетчер аутентификации утверждений предоставляет место в конвейере обработки утверждений для применения логики обработки (фильтрации, проверки, расширения) коллекции утверждений во входящем субъекте до того, как очередность выполнения достигает кода приложения.

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
Наследование
ClaimsAuthenticationManager
Реализации

Примеры

В следующем коде показан простой диспетчер проверки подлинности утверждений, который добавляет утверждение роли во входящий субъект без проверки входящих утверждений.

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> показан элемент .

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

    ...  

  </identityConfiguration>  
</system.identityModel>  

Комментарии

Диспетчер проверки подлинности утверждений предоставляет точку расширяемости в конвейере обработки утверждений приложения, которую можно использовать для проверки, фильтрации, изменения, входящих утверждений или внедрения новых утверждений в набор утверждений ClaimsPrincipal , представленных перед выполнением кода приложения RP. Вы даже можете вернуть пользовательскую реализацию , ClaimsPrincipal если это требуется приложению RP. Реализация по умолчанию, предоставляемая классом ClaimsAuthenticationManager , возвращает утверждения в ClaimsPrincipal неизмененном объекте . Однако можно наследовать от этого класса и переопределить Authenticate метод для изменения утверждений ClaimsPrincipal в (или для возврата пользовательского ClaimsPrincipal).

Типичная причина создания пользовательского диспетчера проверки подлинности утверждений заключается в добавлении, удалении или преобразовании утверждений на основе сведений, которые известны только или, возможно, лучше поддерживаются приложением RP. Например, журнал покупок клиентов в приложении корзины покупок может храниться в базе данных, поддерживаемой приложением RP, а затем добавляться в субъект утверждений, возвращаемый диспетчером проверки подлинности утверждений на основе значения утверждения имени, найденного во входящем субъекте.

Вы можете настроить приложение для использования ClaimsAuthenticationManager программно с помощью IdentityConfiguration класса или в конфигурации с помощью <элемента claimsAuthenticationManager> (который является дочерним элементом <элемента identityConfiguration> ). Вы можете переопределить LoadCustomConfiguration метод , чтобы обеспечить обработку настраиваемых дочерних <claimsAuthenticationManager> элементов элемента, с помощью которого можно настроить настраиваемый диспетчер. Базовая реализация ClaimsAuthenticationManager не обрабатывает никакие дочерние элементы.

Настройка приложения для использования диспетчера проверки подлинности утверждений гарантирует, что он будет вызываться Windows Identity Foundation (WIF) из конвейера запросов.

Конструкторы

ClaimsAuthenticationManager()

Инициализирует новый экземпляр класса ClaimsAuthenticationManager.

Методы

Authenticate(String, ClaimsPrincipal)

При переопределении в производном классе возвращает объект ClaimsPrincipal, совместимый с требованиями приложения RP. Реализация по умолчанию не изменяет входящий объект ClaimsPrincipal.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
LoadCustomConfiguration(XmlNodeList)

При переопределении в производном классе загружает пользовательскую конфигурацию из XML-кода.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к