Почему IIS повышает уровень WindowsIdentity одного запроса из AppPool в мою учетную запись пользователя? - PullRequest
2 голосов
/ 17 февраля 2012

В настоящее время я работаю над приложением ASP .NET, которое включает в себя вход пользователя в систему с использованием аутентификации Windows. Это приводит к тому, что для HTTPContext.User и Thread.Principal должны быть заданы те же учетные данные, что и для входа пользователя в систему, что является ожидаемым поведением, а WindowsIdentity остается в качестве пользователя IIS .NET AppPool.

Недавно я заметил в журналах приложений, что, по-видимому, существует один запрос (обычно это 5-й запрос на загрузку страницы), когда WindowsIdentity запускается как пользователь IIS, но в конечном итоге поднимается до пользователя, который ведет журнал. в.

Похоже, что это происходит только тогда, когда пользователь обращается к корневому пути (например, http://localhost/). Если я укажу любой другой точный путь, такой как http://localhost/index.aspx, этот запрос не появляется, и Идентичность Windows никогда не меняется.

Просматривая (довольно большую) кодовую базу, я могу найти только один метод, который олицетворяет WindowsIdentity, но этот метод не вызывается отдельно от определенных обстоятельств на конкретной странице.

Мне было интересно, почему это может происходить и была ли какая-то причина, по которой IIS мог делать это сам по себе.

1 Ответ

1 голос
/ 17 февраля 2012

По мне, я думаю, что root (http://localhost) доступ только для пользователя с правами администратора, поэтому он проверяет, где он - администратор или нет .., http://loclahost доступен, если пользователь неадминистратор пользователя?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...