Пытаюсь привыкнуть к 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, не выдаёт себя: LOCAL SERVICE
- вошел в систему: LOCAL SERVICE, не выдавая себя за: LOCAL SERVICE
Если я дам учетной записи IIS_IUSRS разрешения NTFS, я смогу заставить все работать нормально, но это кажется странным. Как я могу всегда выдавать себя за учетную запись IUSR? Или я должен дать разрешения NTFS для IIS_IUSRS?
Я был бы признателен за хорошее объяснение этого изменения в IIS7 - я поискал и не нашел объяснения этого использования с проверкой подлинности с помощью форм.