.NET: Можно ли получить NetworkCredentials из Current.Request? - PullRequest
0 голосов
/ 07 октября 2009

Я так не думаю ... но возможно ли получить NetworkCredentials из HttpContext.Current.Request (например, в методе WebService), который использовался для вызова веб-сайта, на котором размещен мой веб-сервис?

Ответы [ 2 ]

0 голосов
/ 07 октября 2009

Если вы разрешите IIS выполнять проверку подлинности, IIS выполнит проверку по своему собственному хранилищу учетных данных (локальному или Active Directory) и просто сообщит, является ли пользователь аутентификацией и его именем пользователя, а не паролем.

Если вы хотите внедрить базовую аутентификацию с любыми другими учетными данными (например, паролем (хешами) в пользовательской базе данных), в IIS6 вам придется отключить базовую аутентификацию в IIS, разрешить анонимный доступ и внедрить e. г. ваш собственный HttpHandler для аутентификации, который может возвращать коды состояния 403 и 401 при необходимости.

В IIS7 вы можете реализовать пользовательский модуль аутентификации и настроить его из консоли IIS7.

В обоих случаях этот проект может быть хорошим началом: http://www.codeplex.com/CustomBasicAuth

0 голосов
/ 07 октября 2009

Я нашел возможное решение: http://msdn.microsoft.com/en-us/library/ms996415.aspx

.. даже если я не могу отключить анонимный доступ в моем сценарии: - (

...