Share via


IssuerNameRegistry Sınıf

Tanım

Veren adı kayıt defteri için soyut temel sınıf. Veren adı kayıt defteri, ilgili veren tarafından üretilen belirteçlerin imzalarını doğrulamak için gereken şifreleme malzemesiyle bir anımsatıcı adı ilişkilendirmek için kullanılır. Veren adı kayıt defteri, bağlı olan taraf (RP) uygulaması tarafından güvenilen verenlerin listesini tutar.

public ref class IssuerNameRegistry abstract : System::IdentityModel::Configuration::ICustomIdentityConfiguration
public abstract class IssuerNameRegistry : System.IdentityModel.Configuration.ICustomIdentityConfiguration
type IssuerNameRegistry = class
    interface ICustomIdentityConfiguration
Public MustInherit Class IssuerNameRegistry
Implements ICustomIdentityConfiguration
Devralma
IssuerNameRegistry
Türetilmiş
Uygulamalar

Örnekler

Aşağıdaki kod, sınıfın IssuerNameRegistry yalnızca "CN=localhost" konusuna sahip sertifikaları kullanan verenleri kabul eden bir uygulamasını gösterir.

Uyarı

Aşağıdaki kod yalnızca açıklayıcı amaçlar içindir. Konu adına göre sertifikaları doğrulamak iyi bir uygulama değildir. Bu kod üretimde olduğu gibi kullanılmamalıdır.

using System.IdentityModel.Tokens;

namespace System.IdentityModel.Samples
{
    /// <summary>
    /// This class verifies that the issuer is trusted, and provides the issuer name.
    /// </summary>
    public class TrustedIssuerNameRegistry : IssuerNameRegistry
    {
        /// <summary>
        /// Gets the issuer name of the given security token,
        /// if it is the X509SecurityToken of 'localhost'.
        /// </summary>
        /// <param name="securityToken">The issuer's security token</param>
        /// <returns>A string that represents the issuer name</returns>
        /// <exception cref="SecurityTokenException">If the issuer is not trusted.</exception>
        public override string GetIssuerName(SecurityToken securityToken)
        {
            X509SecurityToken x509Token = securityToken as X509SecurityToken;
            if (x509Token != null)
            {
                if (String.Equals(x509Token.Certificate.SubjectName.Name, "CN=localhost"))
                {
                    return x509Token.Certificate.SubjectName.Name;
                }
            }

            throw new SecurityTokenException("Untrusted issuer.");
        }
    }
}

Aşağıda, bir uygulamayı güvenilen veren adı kayıt defteriyle yapılandırmak için gereken XML gösterilmektedir.

<system.identityModel>  
  <identityConfiguration>  
    <issuerNameRegistry type="System.IdentityModel.Samples.TrustedIssuerNameRegistry, MyApp" />  
  </identityConfiguration>  
</system.identityModel>  

Açıklamalar

Veren adı kayıt defteri, ilgili veren tarafından üretilen belirteçlerin imzalarını doğrulamak için gereken şifreleme malzemesiyle bir anımsatıcı adı ilişkilendirmek için kullanılır. Bu ad daha sonra bir talebin IssuerOriginalIssuer veya özelliğini ayarlamak için kullanılır. sınıfı tarafından IssuerNameRegistry kullanıma sunulan yöntemler, belirteci işleyen güvenlik belirteci işleyicisi tarafından işlem hattından çağrılır. Bir veren adı kayıt defteri tarafından eşlenmeyen malzeme tarafından imzalanan belirteçler güvenilmeyen olarak atılır. Veren adı kayıt defteri tarafından döndürülen ad, bir RP uygulaması bağlamında benzersiz olmalıdır.

Kodda, özelliğini ayarlayarak SecurityTokenHandlerConfiguration.IssuerNameRegistry kullanılacak veren adı kayıt defterini belirtebilirsiniz. Yapılandırma dosyasında, verenin adı kayıt defteri securityTokenHandlerConfiguration> öğesi altında<issuerNameRegistry> öğesi belirtilerek< belirtilebilir.

Windows Identity Foundation (WIF), sınıfın IssuerNameRegistry kullanıma hazır bir şekilde uygulanmasını sağlar: ConfigurationBasedIssuerNameRegistry sınıfı. Bu uygulamayı kullandığınızda, RP uygulamasının yapılandırma dosyasındaki güvenilen verenlerin listesini, bu öğenin özniteliğinde .class öğesine başvurulduğunda ConfigurationBasedIssuerNameRegistrytype öğenin alt öğesi olan trustedIssuers> öğesi<<issuerNameRegistry> altında belirtebilirsiniz. öğesinin <trustedIssuers> altında, her verenin adı, imzasını doğrulamak için kullanılması gereken X.509 sertifikasıyla eşlenir.

Özel veren adı kayıt defteri oluşturmak için yöntemini geçersiz kılmanız IssuerNameRegistry.GetIssuerName(SecurityToken) gerekir. Bu yöntem, belirtilen güvenlik belirtecinin veren adını döndürür. İsteğe bağlı olarak, windows belirteçleri için farklı DefaultIssuerbir veren adı sağlamak istiyorsanız, veren adlarını ve GetWindowsIssuerName yöntemini alırken bir ipucu mekanizması sağlamak üzere yöntemini geçersiz kılabilirsinizIssuerNameRegistry.GetIssuerName(SecurityToken, String). LoadCustomConfiguration Veren ad kayıt defterinizin bir yapılandırma dosyasından başlatılmasını sağlamak için yöntemini geçersiz kılın.

Oluşturucular

IssuerNameRegistry()

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

Yöntemler

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)
GetIssuerName(SecurityToken)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen güvenlik belirtecinin vereninin adını döndürür.

GetIssuerName(SecurityToken, String)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen güvenlik belirtecinin vereninin adını döndürür. Döndürülecek verenin adı belirlenirken belirtilen veren adı dikkate alınabilir.

GetType()

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

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

Windows talepleri için kullanılacak varsayılan veren adını döndürür.

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 Objectöğesinin sığ bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.