Итак, я создал новый проект ASP.NET MVC с использованием шаблона интрасети. web.config содержит соответствующие значения (например, <authentication mode="windows"/>
).
Если я запускаю веб-приложение с помощью веб-сервера VS, все выглядит отлично - на странице отображается мой домен и имя пользователя Windows и все. Однако это работает в Opera и Safari, а также в IE и FF, в котором говорится, что он вообще не использует Windows auth (так как, насколько мне известно, это не работает ни в одном браузере, кроме IE/FF).
Следующий шаг - заставить его работать через локальный IIS. Я создаю запись файла hosts с указанием www.mysite.mydomain до 127.0.0.1. Поэтому в IIS я создаю сайт со связыванием с www.mysite.mydomain и включаю проверку подлинности Windows и отключает анонимную аутентификацию.
Я установил IE и FF, чтобы включить Windows auth следующим образом:
IE
- Добавить URL-адрес в группу интрасети
- Убедитесь, что Windows auth включен в дополнительных настройках
FF
Поместите 'www.mysite.mydomain' в настройку конфигурации network.automatic-ntlm-auth.trusted-uris.
Но когда я набираю www.mysite.mydomain в IE/FF, я получаю приглашение для входа. Интересно, что даже когда я ввожу свой логин в Windows, он все равно терпит неудачу и снова показывает мне приглашение для входа.
У нас нет активного каталога, но я понимаю, что он должен хорошо работать с локальной учетной записью.
Я не могу думать ни о чем другом, что мне нужно сделать. Любые предложения?
Изменить: мы недавно переключились на использование Active Directory, и проблема остается.
Изменить: когда я отменяю приглашение для входа в систему, я попадаю на страницу "Подробные ошибки IIS 7.5" со следующей информацией:
Ошибка HTTP 401.2 - неавторизованный У вас нет прав на просмотр этой страницы из-за недопустимых заголовков аутентификации. **