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

#windows #iis #authentication

#Windows #iis #аутентификация

Вопрос:

Я использую проверку подлинности Windows на веб-сайте / службе WCF. В WCF я использую HttpContext.Current.User.Идентификация.Имя для выполнения некоторой авторизации.

2 пользователя из 50, похоже, попадают в IIS в контексте безопасности, отличном от того, в который они вошли в Windows. В обоих случаях они являются «Домен администратор» вместо их реальной учетной записи «Домен пользователь».

Это не зависит от WCF и не имеет ничего общего с моим клиентским кодом WCF, так как после возникновения проблемы я попросил пользователей 2 перейти на простую html-страницу в своем браузере, и журналы IIS показывают, что они также подключаются как администратор.

Помимо того, что они перезагружались и смотрели, как они вводят свои логины Windows, чтобы убедиться, я проверил, что их браузеры не настроены на «Запуск от имени администратора», что является опцией, если вы посмотрите на свойства ссылки IE (вкладка быстрого доступа -> кнопка Дополнительно) (не свойства обозревателя).

Ответ №1:

Если у пользователей отключен UAC и они находятся в локальной группе администраторов, IE больше не будет запускаться в режиме изолированной среды (даже если вы не выберете «Запуск от имени администратора» на ярлыке) и будет запускаться в контексте пользователя администратора. Проверьте настройки UAC, чтобы узнать, отключены ли они.

Комментарии:

1. Спасибо за предложение. Я не могу попасть на компьютер пользователя прямо сейчас, но в журналах IIS пользователь обращается к серверу как domain administrator, а не machine administrator… Это то, что вы ожидаете в этом сценарии UAC?

2. После повторного прочтения вашего вопроса, возможно, вы сможете уточнить сценарий, основанный на этом примере: domain joe входит в свой компьютер. Он попадает на ваш сайт ASP, и когда вы просматриваете журналы IIS, вы видите, что он попадает на сайт как machine joe вместо domain joe. Кроме того, HttpContext.Current.User. Идентификация. Имя сообщает machine joe вместо domain joe. Это правильно?