Как включить олицетворение на моем веб-сайте MVC? - PullRequest
1 голос
/ 01 декабря 2011

У меня уже некоторое время работает аутентификация Windows на веб-сервере Cassini (Visual Studio), но когда я перешел на работу своего сайта в IIS 7, сайт перестал работать должным образом.

У меня отключена анонимная проверка подлинности, включена проверка подлинности Windows и олицетворение ASP.NET. Мой файл web.config включает в себя:

    <authentication mode="Windows" />
    <identity impersonate="true" />

Проблема заключается в том, что всякий раз, когда я пытаюсь получить доступ к сайту, меня просят указать имя пользователя и пароль.

Я ожидаю, что мой браузер отправит мои учетные данные в IIS (через некоторый токен авторизации), и IIS будет выдавать себя за моего пользователя во всех запросах страницы.

Почему меня просят войти в систему? Что я должен сделать, чтобы избежать этого приглашения и чтобы ASP.NET использовал мое олицетворенное имя пользователя?

UPDATE: Я добавил свой сайт в «Интранет-зону» в IE и, используя IE, больше не запрашиваю имя пользователя и пароль. В IE была настройка для Autologin для сайтов интрасети.

Однако я не понимаю, почему это не было проблемой при использовании веб-сервера Cassini в VS? Есть идеи?

1 Ответ

0 голосов
/ 09 декабря 2011

Пробовали ли вы это в отношении IIS Express?

Это всего лишь удар, но Visual Studio запускает и Cassini, и IE из одной и той же учетной записи пользователя, поэтому, возможно, ваша личность переходит из Visual Studio.Учетная запись пользователя IIS 7 создается пулом приложений, который может отличаться от пользователя, который работал под управлением VS / Cassini.Я полагаю, что IIS Express работает как ваша учетная запись пользователя, поэтому подражание личности может работать против него без запроса или изменения параметров зоны интрасети.

Если это работает, вы можете настроить пул приложений IIS 7 для запуска под своей учетной записью, и запросы могут исчезнуть.

Опять же, это всего лишь удар.

...