Udostępnij za pośrednictwem


Określanie uwierzytelnianie Kerberos nie w projektów programu Visual Studio

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.

Przy pracy z Visual Studio 2005, niektóre mechanizmy uwierzytelnianie wymagają wykonania dodatkowych kroków zestaw zapasowych. Na przykład uwierzytelnianie Kerberos wymaga rejestracji głównej nazwy usługa (główna nazwa usługi) i innych powiązanych kroków.Aby uzyskać więcej informacji zobaczRejestrowanie nazwy głównej usługa Kerberos za pomocą HTTP.sys.

Punkty końcowe HTTP skonfigurowany do korzystania z uwierzytelnianie zintegrowanego może odpowiadać klientom za pomocą protokołu Kerberos i NTLM jako schemat uwierzytelnianie.Rzeczywiste schemat wybrany i używany przez serwer, Kerberos i NTLM, opiera się w zależności od tego, co system używa klient w żądającego uwierzytelnienia.Aby uzyskać więcej informacji zobaczEndpoint Authentication Types.

W tym temacie przedstawiono szczegółowe informacje dotyczące sposobu modyfikowania Visual Studio 2005 Program Project, dzięki czemu aplikacja klient usług sieci Web będzie żądał schematu uwierzytelnianie inny niż Kerberos, gdy zintegrowanego uwierzytelnianie jest zaznaczone jako typ uwierzytelnianie na serwerze.

Zazwyczaj podczas pisania aplikacji klienckiej w Visual Studio 2005, użytkownik musi zestaw poświadczenia do używania z programu macierzystego usług XML sieci Web w górę SQL Server Implementacja. Zakładając, że w przypadku używania zintegrowanego uwierzytelnianie, można użyć elementu następującą w kodzie:

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

Jednakże jeżeli uwierzytelnianie Kerberos został nie poprawnie skonfigurowany do pracy z innych komputerów (nazwy główna nazwa usługi rejestracji i tak dalej) Visual Studio 2005 zawsze będzie podejmował próby jako schemat uwierzytelniania za pomocą protokołu Kerberos, o ile nie zostanie jawnie wyłączone Kerberos jako schematu uwierzytelniania dozwolonych na (punkt końcowy HTTPsql_endpoint) Zaznaczenie obu NTLM, BASIC lub SKRÓT, jak uwierzytelnianie typu.Należy określić, że Visual Studio 2005 Użyj innego schematu obsługiwane, takich jak uwierzytelnianie NTLM.

W poniższym kodzie pokazano, w jaki sposób można zastąpić, uwierzytelnianie, system Visual Studio 2005 używa i żądanie aplikacji klient NTLM jest używane jako mechanizmu uwierzytelnianie:

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;

Chociaż można wymusić Visual Studio 2005 korzystania z NTLM zamiast protokołu Kerberos dla punktu końcowego zintegrowanego przy użyciu poprzednich przykładowy kod źródłowy, zaleca się tworzenie punkt końcowy skonfigurowany z AUTHENICATION = NTLM jako sposobem używania NTLM, gdy protokół Kerberos nie można użyć ze względu na problemy główna nazwa usługi.

Dodatkowe wymagania dotyczące konfiguracja dla środowiska programowania

Modyfikacje kodu wymienione w poprzedniej sekcji umożliwia aplikacji klient i użyć schematu uwierzytelnianie inny niż Kerberos, ale do obsługi aplikacji, podczas uruchamiania i testowanie go w środowisku programistycznym są wymagane dodatkowe zadania.

Uwaga: domyślnie funkcji odwołanie sieci Web dodatku w Visual Studio Podczas próby pobrania odpowiedzi WSDL z usługa sieci Web zawsze używa protokołu Kerberos. Aby tego uniknąć, można wykonać następujące kroki obejścia:

  1. Służy do ustawiania uwierzytelnianie Kerberos poprawnie dla środowiska programowania.Obejmuje to rejestrowania SPN Kerberos jako pojedynczego użytkownika lub, jeśli ma zastosowanie do grupy domena deweloperów.Aby uzyskać więcej informacji zobaczRejestrowanie nazwy głównej usługa Kerberos za pomocą HTTP.sys.

  2. Aby tymczasowo wyłączyć protokołu Kerberos dla użytkownika końcowego.Za pomocą następujących ALTER ENDPOINT procedurę, aby przełączyć się do DIGEST Tryb poprawnie można uzyskać z odpowiedzi WSDL.

    ALTER ENDPOINT endPointName
    AS HTTP (
       AUTHENTICATION = DIGEST
    )
    
  3. Dodaj odwołanie sieci Web w sieci Visual Studio 2005 Projekt.

  4. Punkt końcowy przejdź z powrotem do INTEGRATED tryb w następujący sposób:

    ALTER ENDPOINT endPointName
    AS HTTP (
       AUTHENTICATION = INTEGRATED
    )
    

Użytkownik może również wykonaj następujące kroki:

  1. Pobrać odpowiedzi WSDL za pomocą innego mechanizmu, takie jak przy użyciu programu Internet Explorer i zapisanie odpowiedzi WSDL do pliku.

  2. Dodaj odwołanie sieci Web w programie Visual Studio z pliku, a nie jako adres URL, takie jak: http://MyServer/sql_endpoint?wsdl.