проблема аутентификации с веб-сайтом интрасети, работающим под IIS6

У меня есть веб-сайт интрасети, работающий под IIS6 (с определенным портом, а не с портом по умолчанию) с включенной встроенной проверкой подлинности Windows и использующим пул приложений, настроенный с учетной записью службы. проблема в том, что если я получаю доступ к веб-сайту, используя имя сервера с полностью определенным доменом в URL-адресе, он выдает приглашение входа в систему (не работает, даже если я ввожу свои учетные данные для входа в Windows), но если я использую IP-адрес сервер тогда он работает нормально. Пожалуйста, дайте мне знать, что мне нужно сделать, чтобы URL-адрес с именем сервера работал. например, http://servername:8080/default.aspx выдает запрос на вход, но http://ip адрес: 8080 / default.aspx отлично работает


person RKP    schedule 17.01.2011    source источник
comment
Когда вы входите в систему с помощью servername: 8080, указываете ли вы имя сервера \ имя пользователя в качестве имени пользователя при попытке входа в систему?   -  person Shan Plourde    schedule 17.01.2011
comment
Я указываю домен \ имя пользователя, а не имя сервера \ имя пользователя.   -  person RKP    schedule 18.01.2011
comment
для всех, кто наткнется на этот вопрос, очень полезная ссылка, которая решила его для меня, объясняя причину проблемы ссылка   -  person Menahem    schedule 20.06.2012


Ответы (4)


У меня такая же проблема. Я считаю, что это как-то связано с механизмом аутентификации Kerberos. Если он прибегает к NTLM, он будет работать (что происходит при использовании IP-адреса). Для работы Kerberos требуется SPN, зарегистрированное в Active Directory. Kerberos также не позволит вам иметь пулы приложений, работающие под разными учетными записями, но с одним и тем же именем сервера. В этих ситуациях вам нужно иметь альтернативное имя для сайта и зарегистрировать его с помощью Kerberos. Однако я еще не решил проблему, так что это всего лишь предложения.

person Nick    schedule 20.02.2011

На ум приходят две возможные проблемы:

  1. 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-адрес
  2. Bindings в IIS6 не ожидает servername

    • Make sure that servername is included in the list or the Host Header Name field is empty alt text
person Eduardo Molteni    schedule 18.01.2011
comment
Спасибо за ответ. имя сервера правильно преобразуется в IP, а имя заголовка хоста пусто. Вы говорите, что я должен включить имя сервера в поле Host Header Name? - person RKP; 18.01.2011
comment
Нет, пусто означает поймать всех. У вас есть другие веб-сайты в IIS? - person Eduardo Molteni; 18.01.2011
comment
да, у меня есть другой веб-сайт, использующий порт по умолчанию с включенным анонимным доступом и отключенной аутентификацией Windows, который работает в пуле приложений по умолчанию, настроенном с учетной записью сетевой службы. в идеале я хотел бы иметь доступ к веб-сайтам с псевдонимом DNS вместо имени сервера и IP-адреса без запроса входа в систему. - person RKP; 18.01.2011

У меня были именно эти симптомы, когда веб-сервер изменил свой IP-адрес из-за новой внутренней схемы IP-адресации. Сквозная аутентификация работала с самого веб-сервера, но не с какой-либо другой системы. В других системах использование имени хоста в URL-адресе заставляло IE запрашивать учетные данные, которые всегда отклонялись, а использование IP-адреса в URL-адресе заставляло IE запрашивать учетные данные, которые были приняты. После множества отвлекающих маневров мы заподозрили, что сервер кэширует учетные данные по старому IP-адресу, поэтому мы перезагрузили сервер, и все прошло нормально.

person Denis Keal    schedule 20.01.2011

Попробуй это. У меня была точно такая же проблема, и она исправила ее для меня (я связанный поток)

Я установил для своего веб-сайта AuthenticationProvider значение «NTLM, Negotiate»

Следуя этим инструкциям: http://support.microsoft.com/kb/215383

С небольшим изменением их инструкции по установке провайдера, конечно

моя:

cscript adsutil.vbs set w3svc/WebSite/root/NTAuthenticationProviders "**NTLM, Negotiate**"

Вы можете получить идентификатор веб-сайта, щелкнув папку «Веб-сайты» слева в IIS. В нем должны быть перечислены все ваши веб-сайты с их идентификаторами.

Благодаря ответу Ника, который привел меня к этому

person mejobloggs    schedule 21.07.2011