Добавление аутентификации в службу WCF - PullRequest
1 голос
/ 30 ноября 2011

Я пытаюсь создать простой, аутентифицированный канал NuGet over http, поэтому я выполнил действия, указанные в http://docs.nuget.org/docs/creating-packages/hosting-your-own-nuget-feeds.. Это работает хорошо, но я хочу, чтобы канал требовал аутентификацию, которая предположительно поддерживается клиентом.

Когда я добавил пакет NuGet.Server в мой новый проект Asp.net MVC, он добавил этот маршрут:

var factory = new DataServiceHostFactory();
var serviceRoute = new ServiceRoute("nuget", factory, typeof(Packages));
serviceRoute.Defaults = new RouteValueDictionary { { "serviceType", "odata" } };
serviceRoute.Constraints = new RouteValueDictionary { { "serviceType", "odata" } };
routes.Add("nuget", serviceRoute);

Конфигурация не была изменена.

Это делает URL http://{host}/nuget/Packages фактически содержащим канал со всеми пакетами, но он полностью не аутентифицирован. Я хочу каким-то образом, желательно без добавления 2 тонн XML, иметь возможность подключиться к конвейеру для службы Packages (которую я не контролирую) и затем выполнить некоторую аутентификацию. Каков (самый простой) способ сделать это?

1 Ответ

0 голосов
/ 30 ноября 2011

У Фила Хаака есть запись в блоге о реализации атрибута авторизации для WCF.Надеюсь, это укажет вам правильное направление.

http://haacked.com/archive/2011/10/19/implementing-an-authorization-attribute-for-wcf-web-api.aspx

...