WCF. Архитектура REST + базовая аутентификация. .NET 4

131
8

Мне нужен совет от людей, которые уже использовали базовую аутентификацию в службе WCF.

Я нашел много примеров, как это сделать:

http://www.codeproject.com/KB/WCF/BasicAuthWCFRest.aspx

и WcfRestContrib. Но первый пример для.NET 3.5 и второй больше не поддерживается автором. Может быть, в.NET 4 все лучше, и у нас есть некоторые функции, которые могут помочь мне в этой проблеме? Поймите любые подсказки и информацию.

И по какой-то причине я даже не могу получить данные с защищенного сервера из-за странной ошибки синтаксического анализа при попытке получить данные с помощью JQuery. Без базовой аутентификации все работает нормально и с json невозможно разобрать. Может быть, кто-то встретит такую проблему.

спросил(а) 2021-01-25T22:26:44+03:00 4 месяца, 2 недели назад
1
Решение
88

Я думаю, что у вас возникла проблема с вызовом OPTIONS, который выдается при использовании базовой проверки подлинности в jquery. Вы можете решить эту проблему, добавив global.asax в свой проект и добавьте следующий код:

protected void Application_BeginRequest(object sender, EventArgs e)
{
EnableCrossDomainAjaxCall();
}

private void EnableCrossDomainAjaxCall()
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");

if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
{
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST");
HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Authorization, Accept");
HttpContext.Current.Response.End();
}
}

Вы также можете скачать пример решения здесь: http://sameproblemmorecode.blogspot.com/2011/10/creating-secure-restfull-wcf-service.html

ответил(а) 2021-01-25T22:26:44+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема