IIS 7 олицетворение и идентичности - PullRequest
5 голосов
/ 03 сентября 2010

Я пытаюсь привыкнуть к II7, довольно долго проработав с IIS6.

В IIS 6 я установил <identity impersonate="true"/> в файле web.config и убедился, что применил правильные разрешения NTFS к учетной записи IUSR_ [MACHINENAME], если для папки требуется больше прав на чтение.

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

Если я использую <identity impersonate="true"/> в IIS 7, Environment.Username говорит мне, что я действительно выдаю себя за учетную запись IUSR, которая является новым эквивалентом. Однако, если я захожу в административную часть веб-сайта с использованием проверки подлинности с помощью форм, он подражает не так, как я ожидаю.

С NetworkService, установленным в пуле приложений:

  • не авторизован: IUSR, не выдает себя за: [MACHINENAME] $
  • вошел в систему: [MACHINENAME] $, не подражая: [MACHINENAME] $

С LocalService, установленным в пуле приложений:

  • не авторизован: IUSR, не выдает себя за: ЛОКАЛЬНАЯ СЛУЖБА
  • зарегистрировано: ЛОКАЛЬНАЯ СЛУЖБА, не подражает: ЛОКАЛЬНАЯ СЛУЖБА

Если я предоставлю учетной записи IIS_IUSRS разрешения NTFS, я смогу заставить все работать нормально, но это кажется странным. Как я могу всегда выдавать себя за учетную запись IUSR? Или я должен дать разрешения NTFS для IIS_IUSRS?

Буду признателен за хорошее объяснение этого изменения в IIS7 - я искал вокруг и не могу найти объяснение этого использования с проверкой подлинности с помощью форм.

Ответы [ 2 ]

1 голос
/ 07 сентября 2010

Вот фрагмент из статьи Technet:

Если вы включите олицетворение для Приложение ASP.NET, это приложение может работать в одном из двух разных контексты: либо как пользователь заверенный IIS 7 или как произвольный аккаунт, который вы создали. За Например, если вы использовали анонимный аутентификация и решил запустить ASP.NET приложение в качестве аутентифицированный пользователь, приложение будет работать под учетной записью, настроенной для анонимные пользователи (обычно IUSR). Точно так же, если вы решили запустить заявление под произвольным аккаунт, он будет работать под любым контекст безопасности был создан для этого счет.

Вот полный документ:

http://technet.microsoft.com/en-us/library/cc730708%28WS.10%29.aspx

1 голос
/ 03 сентября 2010

Конвейерные изменения в IIS 7 обрабатывают аутентификацию совсем иначе, чем в предыдущих версиях.Большинство сценариев так же возможны, но настройка отличается.

Вы должны взглянуть на эту запись о "критических изменениях" в IIS 7.0. Это должно помочь вам сузить круг происходящего

...