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