Получить личность пользователя без аутентификации - PullRequest
0 голосов
/ 12 февраля 2009

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

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

Ответы [ 3 ]

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

Я верю, что будет делать то, что вам нужно.

0 голосов
/ 12 февраля 2009

Если у вас встроенная аутентификация Windows, тогда

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

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

На этой странице приведены дополнительные сведения о том, как этого добиться.

http://www.west -wind.com / WebLog / сообщений / 1572.aspx

0 голосов
/ 12 февраля 2009

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

...