Mam witrynę działającą w IIS 7.5, do której można uzyskać dostęp za pomocą aliasu DNS innego niż nazwa serwera. W IE 8 zintegrowane uwierzytelnianie się nie udaje, ale w Firefoksie i Chrome wszystko działa dobrze. (IE kilka razy przedstawia wyzwanie uwierzytelnienia, a następnie wyświetla stronę błędu 401.1).Usuń NEGOTIATE z WindowsAuthentication w IIS
Wyliczyłem, że jest to spowodowane używaniem protokołu IE przy użyciu protokołu Kerberos (znanego też jako "Negocjowanie"), a Kerberos wymaga zarejestrowania głównego usługodawcy Nazwa (przy użyciu SETSPN), tak aby nieprawidłowe dopasowanie między nazwą DNS a nazwą serwera było poprawnie obsługiwane.
Moja strona internetowa nie wymaga jednak podszywania się - wystarczy mieć delegację. Zamiast więc zmierzyć się z SetSPN, chciałbym usunąć "Negotiate" z listy metod WindowsAuthentication w IIS.
Szukałem sporo czasu, aby dowiedzieć się, jak to zrobić w IIS. Grałem z wieloma komendami appcmd
- ale po prostu nie mogę znaleźć przykładów online lub dowiedzieć się, jak czytając dokumentację MSDN lub używając polecenia appcmd /?
, aby polecenia miały zastosowanie tylko do określonej aplikacji w witrynie, a nie do całego serwera WWW . Kilka wyszukiwań - kilka godzin później przez dwa dni i co najmniej trzy tuziny odwiedzonych stron - wciąż jestem bezowocny.
Jak to się dzieje w przypadku zarazy - wydaje się, że powinno być tak łatwo!