İnternet Kimlik Doğrulaması

Sınıflar System.Net temel, özet, anlaşma, NTLM ve Kerberos kimlik doğrulaması gibi standart İnternet kimlik doğrulama yöntemlerinin yanı sıra oluşturabileceğiniz özel yöntemler de dahil olmak üzere çeşitli istemci kimlik doğrulama mekanizmalarını destekler.

Kimlik doğrulama kimlik bilgileri arabirimini NetworkCredential uygulayan ICredentials ve CredentialCache sınıflarında depolanır. Bu sınıflardan biri kimlik bilgileri için sorgulandığında, NetworkCredential sınıfının bir örneğini döndürür. Kimlik doğrulama işlemi sınıfı tarafından AuthenticationManager yönetilir ve gerçek kimlik doğrulama işlemi arabirimini uygulayan IAuthenticationModule bir kimlik doğrulama modülü sınıfı tarafından gerçekleştirilir. Kullanılabilmesi için önce AuthenticationManager'a özel bir kimlik doğrulama modülü kaydetmeniz gerekir; temel, özet, anlaşma, NTLM ve Kerberos kimlik doğrulama yöntemlerine yönelik modüller varsayılan olarak kaydedilir.

NetworkCredential , bir URI tarafından tanımlanan tek bir İnternet kaynağıyla ilişkilendirilmiş bir kimlik bilgileri kümesini depolar ve bunları yönteme yapılan herhangi bir çağrıya GetCredential yanıt olarak döndürür. NetworkCredential sınıfı genellikle sınırlı sayıda İnternet kaynağına erişen uygulamalar veya her durumda aynı kimlik bilgileri kümesini kullanan uygulamalar tarafından kullanılır.

CredentialCache sınıfı, çeşitli Web kaynakları için bir kimlik bilgileri koleksiyonu depolar. GetCredential Yöntemi çağrıldığında CredentialCache, Web kaynağının URI'sine ve istenen kimlik doğrulama düzenine göre belirlenen uygun kimlik bilgileri kümesini döndürür. Tüm kimlik bilgilerini depolayıp istenen şekilde sağladığından, farklı kimlik doğrulama düzenlerine sahip çeşitli İnternet kaynakları kullanan uygulamalar CredentialCache sınıfını kullanır.

Bir İnternet kaynağı kimlik doğrulaması istediğinde, WebRequest.GetResponse yöntemi kimlik bilgileri isteğiyle birlikte AuthenticationManager'a gönderirWebRequest. Ardından isteğin kimliği aşağıdaki işleme göre doğrulanır:

  1. AuthenticationManager, kayıtlı kimlik doğrulama modüllerinin her birinde yöntemini kaydedildikleri sırayla çağırırAuthenticate. AuthenticationManager, kimlik doğrulama işlemini gerçekleştirmek için null döndürmeyen ilk modülü kullanır. İşlemin ayrıntıları, söz konusu kimlik doğrulama modülünün türüne bağlı olarak değişir.

  2. Kimlik doğrulama işlemi tamamlandığında, kimlik doğrulama modülü İnternet kaynağına erişmek için gereken bilgileri içeren bir Authorization WebRequest'e döndürür.

Bazı kimlik doğrulama düzenleri, bir kaynak için istekte bulunmadan kullanıcının kimliğini doğrulayabilir. Bir uygulama, kullanıcıyı kaynakla önceden doğrulayarak zaman kazandırabilir, böylece sunucuya en az bir gidiş dönüş ortadan kaldırılabilir. Veya daha sonra kullanıcıya daha hızlı yanıt verebilmek için program başlatma sırasında kimlik doğrulaması gerçekleştirebilir. Ön kimlik doğrulaması kullanabilen kimlik doğrulama düzenleri özelliğini true olarak ayarlarPreAuthenticate.

Ayrıca bkz.