У меня есть веб-сайт интрасети, работающий под IIS6 (с определенным портом, а не с портом по умолчанию) с включенной встроенной проверкой подлинности Windows и использующим пул приложений, настроенный с учетной записью службы. проблема в том, что если я получаю доступ к веб-сайту, используя имя сервера с полностью определенным доменом в URL-адресе, он выдает приглашение входа в систему (не работает, даже если я ввожу свои учетные данные для входа в Windows), но если я использую IP-адрес сервер тогда он работает нормально. Пожалуйста, дайте мне знать, что мне нужно сделать, чтобы URL-адрес с именем сервера работал. например, http://servername:8080/default.aspx выдает запрос на вход, но http://ip адрес: 8080 / default.aspx отлично работает
проблема аутентификации с веб-сайтом интрасети, работающим под IIS6
Ответы (4)
У меня такая же проблема. Я считаю, что это как-то связано с механизмом аутентификации Kerberos. Если он прибегает к NTLM, он будет работать (что происходит при использовании IP-адреса). Для работы Kerberos требуется SPN, зарегистрированное в Active Directory. Kerberos также не позволит вам иметь пулы приложений, работающие под разными учетными записями, но с одним и тем же именем сервера. В этих ситуациях вам нужно иметь альтернативное имя для сайта и зарегистрировать его с помощью Kerberos. Однако я еще не решил проблему, так что это всего лишь предложения.
На ум приходят две возможные проблемы:
DNS-сервер в вашей сети не разрешает
servername
в IP- Run
Ping servername
from the command line to check if the name brings the IP expected - отредактируйте файл
C:\Windows\System32\drivers\etc\hosts
и добавьте имя сервера и IP-адрес
- Run
Bindings
в IIS6 не ожидаетservername
- Make sure that
servername
is included in the list or theHost Header Name
field is empty
- Make sure that
У меня были именно эти симптомы, когда веб-сервер изменил свой IP-адрес из-за новой внутренней схемы IP-адресации. Сквозная аутентификация работала с самого веб-сервера, но не с какой-либо другой системы. В других системах использование имени хоста в URL-адресе заставляло IE запрашивать учетные данные, которые всегда отклонялись, а использование IP-адреса в URL-адресе заставляло IE запрашивать учетные данные, которые были приняты. После множества отвлекающих маневров мы заподозрили, что сервер кэширует учетные данные по старому IP-адресу, поэтому мы перезагрузили сервер, и все прошло нормально.
Попробуй это. У меня была точно такая же проблема, и она исправила ее для меня (я связанный поток)
Я установил для своего веб-сайта AuthenticationProvider значение «NTLM, Negotiate»
Следуя этим инструкциям: http://support.microsoft.com/kb/215383
С небольшим изменением их инструкции по установке провайдера, конечно
моя:
cscript adsutil.vbs set w3svc/WebSite/root/NTAuthenticationProviders "**NTLM, Negotiate**"
Вы можете получить идентификатор веб-сайта, щелкнув папку «Веб-сайты» слева в IIS. В нем должны быть перечислены все ваши веб-сайты с их идентификаторами.
Благодаря ответу Ника, который привел меня к этому