Ввод пароля в заголовок авторизации с использованием WebChannelFactory - PullRequest
1 голос
/ 28 ноября 2011

Я пытаюсь создать службу и клиент REST, и мне нужно отправить некоторую информацию об авторизации через HTTP-запрос.Однако заголовок авторизации становится пустым, когда я проверяю его на сервере.Это лучшее, что я получил на клиентском коде:

WebChannelFactory<IAdminService> cf =
    new WebChannelFactory<IAdminService>(agency.Value);
cf.Credentials.UserName.UserName = "admin";
cf.Credentials.UserName.Password = "passw0rd";

IAdminService channel = cf.CreateChannel();
List<Car> cars = channel.GetCars();

А это служебный код, пытающийся проверить заголовок, но он пуст:

[WebGet(UriTemplate = "cars")]
[OperationContract]
Cars GetCars()
{
    WebOperationContext ctx = WebOperationContext.Current;
    string authHeader = ctx.IncomingRequest.Headers[HttpRequestHeader.Authorization];
    Console.WriteLine("authHeader={0}", authHeader);
    if (authHeader == null)
    {
        WebOperationContext.Current.OutgoingResponse.StatusCode = HttpStatusCode.Unauthorized;
        return new Cars();
    }
    return CarDatabase.Instance.GetCars();
}

Любая помощь в том, чтоЯ скучаю по оценкам.(Пока не нужно ничего шифровать, просто отправьте «admin» и «passw0rd» в нужное место)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...