Я установил Windows Server 2003 R2 и роль IIS (без роли Active Directory). Я установил виртуальный каталог с именем «test» и на вкладке «Безопасность» виртуального каталога «test» отключил анонимный вход и включил встроенную проверку подлинности Windows. Сервер находится в локальной сети. Я получаю доступ к каталогу test / на сервере с помощью браузера. Вот журнал:
**IE on Server**
localhost - works
127.0.0.1 - works, asks for password, 8 second delay
domain.com - fails, asks for password, after 3 seconds asks for
a password again, the username field changes to: domain.com\username
172.28.28.100 - works, asks for password, 8 second delay
.
**Firefox on Server**
same as above
domain.com - the 'Remember the password' tooltip displays for
a fraction of a second and then the browser asks
for the password again
.
**IE on other LAN host**
172.28.28.100 - works, asks for password, 8 sec delay
domain.com - works, asks for password, 8 sec delay
**Firefox on other LAN host**
- same as above, no delay
Я явно что-то делаю не так, но не знаю, в чем дело. Я читал о SPN, но когда я использую setspn -L localhost, SPN не отображаются (я думаю, это потому, что сервер не является DC). Почему я не могу войти на сервер с помощью встроенной проверки подлинности Windows на domain.com?
Совершенно неверно истолковал вопрос, поэтому попробуйте 2.
Предполагая:
Когда вы набираете "domain.com", IE создаст имя участника-службы http / domain.com и попросит DC предоставить ему для этого билет.
Если domain.com - это что-то реальное, то есть ваше доменное имя AD, это не сработает. По крайней мере, я так полагаю.
Пытаться этот для руководства по SPN. Воспользуйтесь первым советом и используйте версию SetSPN 2008 года для работы с SPN.
Короче говоря, вы берете учетную запись пула приложений (если это IIS 6, это сетевая служба по умолчанию, поэтому учетная запись компьютера webserver $) и регистрируете для нее SPN:
SETSPN -S http / example.com ДОМЕН \ WebServer $
Теоретически на данный момент все работает.
Я предполагаю, что FireFox не выполняет Curb auth для сервера, и что IE требует больше времени, чтобы выйти из строя, потому что он пытается это сделать.
Несколько вопросов, которые нужно решить с этим вопросом:
Вы не можете пройти аутентификацию с помощью domain.com\username
или
domain\username
если нет домена Active Directory или NT
называется domain.com для аутентификации.
Возможно, вам придется специально принудительно использовать локальную учетную запись, используя *IIS Computer Name*\username
в качестве идентификатора входа для успешной аутентификации в локальной учетной записи на сервере IIS.
Вы, вероятно, захотите установите для своего сайта NTAuthenticationProviders отключить Вести переговоры процесс аутентификации и заставить IIS использовать NTLM:
cscript adsutil.vbs set w3svc/__YourWebSite__/root/NTAuthenticationProviders "NTLM"
Самый простой и быстрый способ - использовать «Базовую аутентификацию», но при этом возникают проблемы с безопасностью, если вы не защищаете свой входящий трафик с помощью SSL.