Aracılığıyla paylaş


Visual Studio projelere olmayan Kerberos kimlik doğrulaması belirtme

This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.

Birlikte çalışma Visual Studio 2005, bazı kimlik doğrulaması mekanizmaları için ek adımlar gerektirir küme kurun. Örneğin, Kerberos kimlik doğrulaması, hizmet asıl adı (SPN) kaydı ve diğer ilgili adımlar gerektirir.Daha fazla bilgi için bkz:Kerberos bir hizmet asıl adı, HTTP.sys kullanarak kaydediliyor.

Tümleşik kimlik doğrulaması kullanacak biçimde yapılandırılmış bir HTTP bitiş noktaları, Kerberos ya da NTLM kimlik doğrulama şeması kullanan istemcileri için yanıt verebilir.Seçili ve sunucu tarafından Kerberos ya da NTLM, kullanılan gerçek düzeni, kimlik doğrulaması isteyen istemci kullandığı hangisi Düzen temel alır.Daha fazla bilgi için bkz:Son nokta kimlik doğrulaması türleri.

Bu konu, nasıl değiştirileceği hakkında bilgi sağlar. bir Visual Studio 2005 Böylece, Web Hizmetleri istemci uygulamasını, tümleşik kimlik doğrulaması, sunucu kimlik doğrulama türü olarak seçildiğinde, Kerberos dışında başka bir kimlik doğrulama şeması ister proje.

Genellikle, bir istemci uygulaması yazdığınızda Visual Studio 2005, kimlik bilgileri bilgilerini kullanmak için yerel XML Web hizmetleriyle ayarlamanız gerekir SQL Server uygulaması. Tümleşik kimlik doğrulaması kullanmakta olduğunuz varsayarsak, aşağıdakiler gibi kodunuzda kullanabilirsiniz:

myServer.sql_endpoint proxy = new myServer.sql_endpoint();
proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;

Ancak, Kerberos kimlik doğrulaması doğru (SPN) kayıt vb.), diğer bilgisayarlardan çalışmak için küme değil, Visual Studio 2005 devre dışı, açık olarak Kerberos bir izin verilen kimlik doğrulama şeması üzerinde HTTP bitiş noktası (olarak bırakmak sürece her zaman Kerberos kimlik doğrulama şeması kullanmaya çalışırsql_endpoint) ya da NTLM seçerek, BASIC veya Özet kimlik doğrulaması olarak yazın.Belirtmek isteyebilirsiniz. Visual Studio 2005 NTLM gibi başka bir desteklenen düzenini kullanın.

Aşağıdaki kod kimlik geçersiz gösterir, Düzen Visual Studio 2005 kullanır ve istemci uygulama isteği sahip NTLM kimlik doğrulaması mekanizması olarak kullanılmasını:

mattm1.sql_endpoint proxy = new mattm1.sql_endpoint();
System.Net.CredentialCache myCreds = new System.Net.CredentialCache();

myCreds.Add(new Uri(proxy.Url), "NTLM", System.Net.CredentialCache.DefaultCredentials.GetCredential(new Uri(proxy.Url), "NTLM"));
proxy.Credentials = myCreds;

Ancak, zorlamak Visual Studio 2005 NTLM, önceki kod örneğini kullanarak TÜMLEŞIK bir son noktada Kerberos yerine kullanmak için , AUTHENICATION ile yapılandırılan bir bitiş noktası oluşturma öneririz Kerberos SPN sorunları nedeniyle kullanılamaz NTLM kullanılacak şekilde NTLM =.

Geliştirme ortamı için ek yapılandırma gereksinimleri

Önceki bölümünde belirtilen kodunuz için yapılan değişiklikleri belirlemek ve Kerberos dışında başka bir kimlik doğrulaması düzenini kullanabilmek istemci uygulamanın sağlar, ancak çalışan ve geliştirme ortamında test uygulamanızın desteklenmesi için gereken ek görevler.

Varsayılan olarak, Web başvurusu ekleme işlevselliğindeki, Not Visual Studio Web hizmetinden WSDL yanıt almaya çalıştığında, her zaman Kerberos kullanır. Bunu önlemek için , aşağıdaki geçici çözüm adımları yapabilirsiniz:

  1. Doğru geliştirme ortamı için Kerberos kimlik doğrulamasını ayarlayın.Bu tek bir kullanıcı olarak kaydetmek istediğiniz için Kerberos SPN içerir veya varsa, geliştiriciler etki alanı grubudur.Daha fazla bilgi için bkz:Kerberos bir hizmet asıl adı, HTTP.sys kullanarak kaydediliyor.

  2. Kerberos, son noktadaki geçici olarak devre dışı.Aşağıdakileri kullanarak ALTER ENDPOINT yordam geçmek için DIGEST mod doğru WSDL yanıt elde edebilirsiniz.

    ALTER ENDPOINT endPointName
    AS HTTP (
       AUTHENTICATION = DIGEST
    )
    
  3. ' De Web başvurusu ekleme, Visual Studio 2005 projesi.

  4. Bitiş noktası anahtarı yedeklemek için INTEGRATED aşağıdaki gibi modu:

    ALTER ENDPOINT endPointName
    AS HTTP (
       AUTHENTICATION = INTEGRATED
    )
    

Alternatif olarak, bu adımları izledikten:

  1. WSDL yanıtı ınternet Explorer'ı kullanarak ve WSDL yanıt dosyasına kaydetme gibi başka bir düzenek alın.

  2. Web başvurusunu Visual Studio'da dosyası yerine bir URL olarak gibi ekleyin: http://MyServer/sql_endpoint?wsdl.