ASP.NET проблема олицетворения

#asp.net #asp.net-mvc-2 #asp.net-mvc-3 #impersonation #windows-security

#asp.net #asp.net-mvc-2 #asp.net-mvc-3 #олицетворение #windows-безопасность

Вопрос:

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

Если я использую…

     <identity impersonate="true" userName="mydomainmyusername" password="mypassword" />
  

это работает просто отлично. Однако, если я использую…

     <identity impersonate="true" />
  

Он не подберет пользователя. Я пропустил какой-то код? Или это проблема конфигурации IIS 7.5?

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

1. Вы всегда используете IE? Я также думаю, что вы должны включить это в самом IIS

Ответ №1:

Я опубликовал предыдущий ответ, но я думаю, что этот подходит лучше

Попробуйте выбрать, используете ли вы определенного пользователя или проходите через. Не уверен на 100%, решает ли это вашу проблему, просто пытаюсь помочь!

передача через или зависит от пользователя

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

1. Я проверил это диалоговое окно, и мое выглядит точно так же, как на картинке. Хотя спасибо за совет!

2. В статье, приведенной по ссылке ниже, говорится «Олицетворение включено. В этом случае ASP.NET олицетворяет токен, переданный ему IIS, который является либо аутентифицированным пользователем, либо учетной записью анонимного пользователя Интернета (IUSR_machinename).» Я получаю учетную запись анонимного пользователя Интернета, а не пользователя, прошедшего проверку подлинности. Как мне заставить его перехватывать пользователя, а не анонимного пользователя?

Ответ №2:

При включении олицетворения проверьте, какие типы безопасности вы включили:

  • Откройте IIS

  • Перейдите на свой сайт, щелкните по нему

  • Нажмите на аутентификацию (синий парень со значком замка)

  • Убедитесь, что у вас есть ASP.NET олицетворение включено

Олицетворение должно быть включено

Включить олицетворение

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

1. Это делает точно то же самое, что и в вопросе <identity Impersonate=»True» />

2. Ах да, я неправильно истолковал вопрос. Проблема не в аутентификации, а в том, что она не распознает текущего пользователя. Это другое дело, ему нужно настроить, будет ли это проходить через систему безопасности или указать пользователя. Я напишу другой ответ.

Ответ №3:

Необходимо настроить IIS для передачи токена безопасности в ASP.NET . Смотрите здесь

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

1. Спасибо за ссылку. В статье говорится, что «Олицетворение включено. В этом случае ASP.NET олицетворяет токен, переданный ему IIS, который является либо аутентифицированным пользователем, либо учетной записью анонимного пользователя Интернета (IUSR_machinename).» Я получаю учетную запись анонимного пользователя Интернета, а не пользователя, прошедшего проверку подлинности. Как мне заставить его перехватывать пользователя, а не анонимного пользователя?

2. Просто продолжение моего тестирования, если включена анонимная аутентификация, IIS ВСЕГДА подбирает анонимного пользователя. Только отключив анонимную аутентификацию, я смог заставить IIS перехватить пользователя active directory (меня).

3. @John У меня возникла проблема, из-за которой мне предлагается ввести моего пользователя / пароль всякий раз, когда я пытаюсь зайти на свой сайт. У меня есть аутентификация Windows и ASP.NET Олицетворение включено, а другие отключены. Отлично работает на веб-хостинге Cassini, но не в IIS7. В итоге у вас это получилось?

Ответ №4:

Вы пробовали включить проверку подлинности Windows?