Я пытаюсь настроить проверку подлинности Windows в своем веб-приложении .NET 4.0 MVC3, чтобы пользователи внутренней сети компании могли входить в систему без запроса.
В файле web.config у меня есть:
<authentication mode="Windows" />
<authorization>
<deny users = "?" />
</authorization>
В IIS я отключил анонимный доступ ко всему веб-приложению и оставил только проверку подлинности Windows.Я использую IIS 6.0 в Windows 2003.
Теперь, когда я захожу на сайт через USER \ COMPUTER, я вошел в систему без запроса, но как неправильный пользователь (не я, ноучетная запись администратора сервера, на котором запущено веб-приложение).
Когда я захожу на сайт через USER \ SOMESERVER, я вошел в систему как USERS, как и ожидалось.Все остальные люди, пытающиеся получить доступ к моему приложению со своих компьютеров, получают запрос на ввод имени пользователя и пароля (хотя они могут войти в систему, когда предоставят действительные учетные данные).Это особенно странно, потому что все они имеют встроенную аутентификацию Windows, включенную в настройках IE, и * .domain.intra добавляется на сайты интрасети.
Кто-нибудь знает, что происходит?Как я могу заставить его работать, чтобы пользователи входили в систему как сами, без запроса?
EDIT : пул веб-приложений работает как NETWORK SERVICE, поэтому я не понимаю, почему явошел в систему как неправильный пользователь со своего компьютера разработчика ...
EDIT2 : поскольку я использую NETWORK SERVICE в качестве идентификатора для пула приложений, я следовал обходному решениюшаги отсюда: http://support.microsoft.com/kb/871179.Но все равно не работает ...
Все пользователи и машины принадлежат одному домену
EDIT3 : Я нашел это: http://forums.iis.net/t/1167087.aspx.Проблема, которую они описали, была точно такой же.Решение также сработало.Единственная проблема, которая все еще сохраняется, состоит в том, что с моей машины для разработки я все еще автоматически вошел в систему как неправильный пользователь.К счастью, все клиентские машины входят в систему как текущие пользователи.