1

Я надеюсь, что это не парадоксальным, но я не знаю, как это должно быть сделано ...Членство в ASP.NET. Могу ли я разрешить анонимный доступ и использовать автоматический вход в систему с помощью Active Directory?

У меня есть MVC проект VS2008 ASP.NET с помощью следующей записи Web.Config:

<authentication mode="Windows"> 
     <forms name=".ADAuthCookie" timeout="10" /> 
    </authentication> 

Это позволяет посетителю войти в систему автоматически с помощью своего имени пользователя DOMAIN \ username, которое они использовали для входа в Windows. (Право?)

Это работает с моим сервером разработки (http://localhost:xxxx), но не с моим сервером IIS (http://localhost). Вероятно, потому что сервер разработки «запущен» моим локальным пользователем (который имеет права чтения ActiveDirectory в домене) и потому, что IIS «запускается» пользователем IUSR_WORKSTATION, который этого не делает. (Правильно?)

Если все вышесказанное верно, как я могу выдавать себя за пользователя IIS (например, от моего собственного имени пользователя), чтобы полностью аутентифицировать текущего пользователя с именем входа Windows? (как пример ниже)?

Или должен ли пользователь IUSR_WORKSTATION получить ActiveDirectory? чтения-права (не являются предпочтительными, как я буду переключение серверов/пользователей IUSR_ много)

<identity impersonate="true" userName="DOMAIN\myuser" password="mypass"/> 
<authentication mode="Windows"> 
    <forms name=".ADAuthCookie" timeout="10" /> 
</authentication> 
<identity impersonate="false"/> 

ответ

2

аутентификации Windows, плохо назван (ИМО). Он не использует Windows в качестве аутентификации, а скорее делегирует процесс аутентификации в IIS. Таким образом, вам необходимо настроить аутентификацию IIS, которая затем переходит к ASP.NET.

Как вы это сделаете, это зависит от вашей версии IIS, в IIS7 разверните дерево и нажмите на свой веб-сайт, затем нажмите «Аутентификация» и включите проверку подлинности Windows

+0

А это делает некоторые вещи более ясными. 1.) Итак, я должен отключить анонимный доступ в IIS? 2.) Могу ли я настроить встроенный веб-сервер VS2008, чтобы сделать то же самое? (вкладка безопасности в инструменте администрирования веб-сайта ASP.NET дает следующую ошибку: поставщик членства в Active Directory не настроен для поддержки методов поиска.) – Ropstah

+0

Да, вам нужно отключить анонимный доступ, если все, что вы хотите, это люди в вашем AD чтобы залогиниться. Cassini встроенный тестовый сервер просто нуждается в записи файла конфигурации, это все, что ему нужно. – blowdart