2012-06-15 1 views
0

Я создал приложение ASP.NET для внутренней цели, где пользователь домена обращается к простой веб-форме, заполняет форму и отправляет. Приложение олицетворяет пользователя и отправляет электронное письмо в качестве зарегистрированного пользователя домена в нашу систему продажи билетов, где билет генерируется от пользователя, заполнившего форму. Теперь все работает, когда я тестирую, войдя на тот же сервер, на котором расположен IIS (7.5), и отправьте форму, но когда я пытаюсь сделать то же самое с моего рабочего стола (открытие браузера и указание на веб-сервер), оно не работает , После изучения проблемы я обнаружил, что это, вероятно, проблема с двойной перестановкой (которую я подтвердил, когда администратор Exchange проверил журналы после нескольких неудачных попыток и обнаружил, что сайт пытается отправить электронное письмо как NTAuthority/Anonymous.)Проблема с двумя переходами ASP.NET при отправке электронной почты для обмена

Я расчесал веб-сайт и нашел много информации по этой проблеме, но все, что я могу найти, это статьи, детализирующие проблему в отношении более ранних версий IIS (IIS 5 или 6). Я использую 7.5, поэтому я не уверены в том, как процесс разрешения этого будет отличаться. Может ли кто-то, кто имел эту проблему в IIS 7.5, опубликовать основные пошаговые инструкции по разрешению двойного хопа по отношению к IIS 7.5 и отправке имитируемого письма на сервер Exchange? Что-то на первый взгляд, сделайте это, шаг 2 - сделайте это и т. Д.

Другой вопрос, который у меня есть, следующий: многие статьи, которые я прочитал, указывают на настройку учетной записи службы для делегирования, а затем создавать SPN ... Однако с IIS 7.5 у меня есть возможность использовать идентификаторы пула приложений. Имеются ли идентификаторы пула приложений с делегированием олицетворения или требуется учетная запись службы для устранения проблемы?

Спасибо всем!

ответ

0

Из вашего описания, похоже, что ваше приложение ASP.NET пытается определить зарегистрированного пользователя по учетным данным для входа в сеть Windows?

Если это так, все, что вам нужно сделать, это отключить «Включить анонимный доступ» на вашем сайте IIS и убедиться, что «Аутентифицированный доступ» включен «Интегрированная проверка подлинности Windows». Затем IIS должен должным образом запросить браузер для своей учетной записи, а сеанс должен использовать учетные данные пользователя. Это предполагает несколько вещей о используемом браузере клиента, и если используется другое приложение, отличное от Internet Explorer, вам также может потребоваться включить один из других методов проверки подлинности, чтобы другие браузеры корректно запрашивали у пользователя свои учетные данные для входа в сеть. К сожалению, на данный момент у меня нет сервера IIS 7.5, чтобы дать вам точные свойства и описания сайтов, на которые нужно смотреть. Поэтому, если вы не можете определить это из моего описания здесь, надеюсь, кто-то еще может добавить это, или я могу попытаться выполнить последующие действия, если вам нужно.

+0

Привет, dmarietta, спасибо, что ответ! Это правильно, я захватываю учетные данные для текущего зарегистрированного пользователя и передаю их. В IIS, в конфиге аутентификации (для сайта), у меня активирована олицетворение asp.net, включено окно auth и все остальное отключено. Я уверен, что все остальное настроено должным образом, поэтому мне просто нужно выяснить, как работать с двойным хопом, который, по-видимому, по дизайну, если делегирование специально не включено/разрешено. – CRFetzer

+0

Как только вы знаете пользователя, почему бы просто не получить адрес электронной почты SMTP для своей учетной записи, а затем отправить электронное письмо через SMTP, чтобы избежать всей проблемы с аутентификацией в Exchange? Вы должны иметь возможность отправить сообщение, казалось бы, от имени почтового ящика на Exchange через соединитель SMTP без необходимости аутентификации пользователя. Обратитесь к методам использования CDOSYS для отправки электронной почты SMTP. – dmarietta

 Смежные вопросы

  • Нет связанных вопросов^_^