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