Określanie uwierzytelniania Kerberos bez w projektach programu Visual Studio

Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.

W sekcji Praca z Visual Studio 2005, niektóre mechanizmy uwierzytelnianie wymagają dodatkowych czynności do zestaw up.Na przykład uwierzytelnianie Kerberos wymaga rejestracji głównej nazwy usługi (główna nazwa usługi) i innych powiązanych kroków.Aby uzyskać więcej informacji, zobacz Rejestrowanie nazwy głównej usługi Kerberos przy użyciu składnika Http.sys.

Punkty końcowe HTTP skonfigurowany do używania zintegrowanego uwierzytelnianie może odpowiadać klientom używanie jako schemat uwierzytelnianie Kerberos i NTLM.Rzeczywisty system wybrany i używany przez serwer, Kerberos i NTLM, jest oparty na zależności systemu używa klient żądając uwierzytelnianie.Aby uzyskać więcej informacji, zobacz Typy uwierzytelniania końcowy.

W tym temacie przedstawiono szczegółowe informacje dotyczące sposobu modyfikowania Visual Studio 2005 projektu, dzięki czemu aplikacja klient usług sieci Web będzie żądał schematu uwierzytelniania inny niż Kerberos po wybraniu zintegrowane uwierzytelnianie typu uwierzytelniania na serwerze.

Zazwyczaj podczas pisania aplikacji klient Visual Studio 2005, należy zestaw poświadczenia do używania z macierzystego usług sieci Web XML w górę SQL Server implementacji.Zakładając, że używasz zintegrowanego uwierzytelnianie, można użyć następujących coś w kodzie:

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

Jednak jeśli uwierzytelnianie Kerberos nie został poprawnie zestaw do pracy z innych komputerów (nazwy główna nazwa usługi rejestracji i tak dalej), Visual Studio 2005 zawsze próbuje użyć protokołu Kerberos jako schemat uwierzytelniania, chyba że jawnie Wyłącz Kerberos jako schematu uwierzytelniania dozwolonych na punkt końcowy HTTP (sql_endpoint), wybierając albo NTLMBASIC albo SZYFROWANE jako typ uwierzytelniania.Należy określić, że Visual Studio 2005 użyć innego schematu obsługiwane, takich jak uwierzytelnianie NTLM.

Poniższy kod ilustruje, jak można zastąpić uwierzytelnianie schemat Visual Studio 2005 używa i żądanie aplikacji klient NTLM użyty jako mechanizmu uwierzytelniania:

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 używać NTLM zamiast protokołu Kerberos zintegrowanego końcowego przy użyciu poprzednich przykładowy kod, zaleca się utworzenie punkt końcowy skonfigurowany AUTHENICATION = NTLM jako sposób używać NTLM Kerberos nie można używać z powodu problemów główna nazwa usługi.

Dodatkowe wymagania dotyczące konfiguracji środowiska programistycznego

Zmiany w kodzie wymienione w poprzedniej sekcji pozwoli określić i użyć schematu uwierzytelnianie inny niż Kerberos aplikacji klient, ale dodatkowe zadania są wymagane do obsługi aplikacji podczas uruchamiania i testowania go w środowisku programistycznym.

Uwaga Domyślnie, Dodaj funkcję odwołanie sieci Web w Visual Studio zawsze używa protokołu Kerberos, gdy próbuje pobrać odpowiedź WSDL usługa sieci Web.Aby tego uniknąć, można wykonać następujące kroki:

  1. Skonfiguruj uwierzytelnianie Kerberos poprawnie dla środowiska programowania.Obejmuje to rejestracja nazwy SPN Kerberos jako pojedynczego użytkownika lub, gdzie stosowne, grupy domena deweloperów.Aby uzyskać więcej informacji, zobacz Rejestrowanie nazwy głównej usługi Kerberos przy użyciu składnika 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 można poprawnie uzyskać odpowiedź WSDL.

    ALTER ENDPOINT endPointName
    AS HTTP (
       AUTHENTICATION = DIGEST
    )
    
  3. Dodawanie odwołania sieci Web w sieci Visual Studio 2005 projektu.

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

    ALTER ENDPOINT endPointName
    AS HTTP (
       AUTHENTICATION = INTEGRATED
    )
    

Można również wykonać następujące czynności:

  1. Pobrać odpowiedzi WSDL za pośrednictwem innego mechanizmu, takich jak za pomocą programu Internet Explorer i zapisywanie do pliku odpowiedzi WSDL.

  2. Dodawanie odwołania sieci Web programu Visual Studio z pliku zamiast jako adres URL, takie jak: http://MyServer/sql_endpoint?wsdl.