Я надеюсь, что это не парадоксально, но я не знаю, как это должно быть сделано...
У меня есть проект VS2008 ASP.NET MVC со следующей записью Web.Config:
<authentication mode="Windows">
<forms name=".ADAuthCookie" timeout="10" />
</authentication>
Это позволяет посетителю автоматически входить в систему со своим ДОМЕНОМ\имя пользователя, которое они использовали для входа в 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"/>