ClaimsAuthenticationManager Sınıf

Tanım

Talep kimlik doğrulama yöneticisi için temel uygulamayı tanımlar. Talep kimlik doğrulama yöneticisi, yürütme uygulama kodunuz ulaşmadan önce gelen sorumludaki talep koleksiyonuna işleme mantığı (filtreleme, doğrulama, uzantı) uygulamak için talep işleme işlem hattında bir yer sağlar.

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
Devralma
ClaimsAuthenticationManager
Uygulamalar

Örnekler

Aşağıdaki kod, gelen talepler üzerinde herhangi bir denetim gerçekleştirmeden gelen sorumluya rol talebi ekleyen basit talep kimlik doğrulama yöneticisini gösterir.

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; 
        }
    }
}

Aşağıdaki XML öğesi gösterilir <claimsAuthenticationManager> .

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

    ...

  </identityConfiguration>
</system.identityModel>

Açıklamalar

Talep kimlik doğrulama yöneticisi, uygulamanın talep işleme işlem hattında, RP uygulama kodu yürütülmeden önce bir tarafından sunulan talep kümesine doğrulamak, filtrelemek, değiştirmek, gelen talepleri eklemek veya yeni talepler eklemek için kullanabileceğiniz bir ClaimsPrincipal genişletilebilirlik noktası sağlar. RP uygulamanız gerektiriyorsa özel uygulamasını ClaimsPrincipal bile döndürebilirsiniz. sınıfı tarafından ClaimsAuthenticationManager sağlanan varsayılan uygulama, değiştirilmemiş talepleri ClaimsPrincipal döndürür; ancak, bu sınıftan türetebilir ve içindeki talepleri Authenticate değiştirmek (veya özel ClaimsPrincipalbir döndürmek için) yöntemini geçersiz kılabilirsinizClaimsPrincipal.

Özel talep kimlik doğrulama yöneticisi oluşturmanın tipik bir nedeni, yalnızca RP uygulaması tarafından bilinen veya RP uygulaması tarafından daha iyi korunan bilgilere göre talepleri eklemek, kaldırmak veya dönüştürmektir. Örneğin, bir alışveriş sepeti uygulamasında müşteri satın almalarının geçmişi RP uygulaması tarafından tutulan bir veri tabanında tutulabilir ve ardından gelen sorumluda bulunan bir ad talebi değerine göre talep kimlik doğrulama yöneticisi tarafından döndürülen talep sorumlusuna eklenebilir.

Uygulamanızı, sınıfını kullanarak ClaimsAuthenticationManager veya > yapılandırmada program aracılığıyla kullanacak şekilde yapılandırabilirsiniz<.> Özel yöneticinizin LoadCustomConfiguration yapılandırılabildiği öğenin özel alt öğeleri <claimsAuthenticationManager> için işlem sağlamak üzere yöntemini geçersiz kılabilirsiniz. temel uygulaması ClaimsAuthenticationManager hiçbir alt öğeyi işlemez.

Uygulamanızı talep kimlik doğrulama yöneticisi kullanacak şekilde yapılandırmak, istek işlem hattından Windows Identity Foundation (WIF) tarafından çağrılmasını sağlar.

Oluşturucular

Name Description
ClaimsAuthenticationManager()

ClaimsAuthenticationManager sınıfının yeni bir örneğini başlatır.

Yöntemler

Name Description
Authenticate(String, ClaimsPrincipal)

Türetilmiş bir sınıfta geçersiz kılındığında, RP uygulamasının gereksinimleriyle tutarlı bir ClaimsPrincipal nesne döndürür. Varsayılan uygulama gelen ClaimsPrincipalöğesini değiştirmez.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
LoadCustomConfiguration(XmlNodeList)

Türetilmiş bir sınıfta geçersiz kılındığında XML'den özel yapılandırma yükler.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır