2009-02-12 5 views
0

У меня есть приложение ASP.NET, которое записывает файлы в NETAPP. Это очень сложно, и единственный способ заставить его работать - установить <identity impersonate="true"/> и удалить тег <authentication.../> в web.config. Это позволяет приложению записывать в NETAPP (с соответствующим обезглавлением разрешений за кулисами), но теперь мое приложение не может сказать, кто на самом деле его использует. Есть ли другой способ получить идентификатор пользователя, не заставляя их входить в систему? Это внутреннее приложение, поэтому его можно запускать только с рабочих станций с зарегистрированным пользователем. Есть идеи?Получить идентификатор пользователя без аутентификации

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

ответ

3
  • Набор аутентификации «Windows» в вашем web.config
  • Выключить «Анонимный доступ» для веб-сайта в IIS
  • Включите «Встроенная проверка подлинности Windows» для веб-сайта в IIS
  • Оставьте удостоверение личности, включенное в вашем web.config.

Я считаю, что это сделает то, что вам нужно.

0

Одна из возможностей - переместить часть письма в веб-службу, чтобы служба могла получить все необходимые разрешения, не влияя на то, как работает мое приложение. Это большая работа, поэтому я надеюсь на более простой ответ.

0

Если у вас есть встроенная проверка подлинности Windows, а затем

string username = HttpContext.Current.Request["LOGON_USER"]; 

Редактировать на основе замечаний; Возможно, решение, которое вы на самом деле хотите, так отключает олицетворение всего приложения и только олицетворяет требуемые биты, которые должны быть выданы.

Для получения дополнительной информации см. Эту страницу.

http://www.west-wind.com/WebLog/posts/1572.aspx

+0

Проблема заключается в том, что я должен отключить проверку подлинности Windows, чтобы заставить его написать в NETAPP, так что это не будет работать. – gfrizzle

+0

См. Мой обновленный ответ. Возможно, вам следует использовать такое решение, как предложения ссылок для написания NETAPP – Bob