将身份验证添加到WCF服务

时间:2011-11-29 20:57:51

标签: asp.net-mvc wcf authentication

我正在尝试通过http创建一个简单的,经过身份验证的NuGet Feed,因此我按照http://docs.nuget.org/docs/creating-packages/hosting-your-own-nuget-feeds中指出的步骤进行操作。它运行良好,但我希望feed需要身份验证,据说客户端支持身份验证。

当我将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 :(得分:0)

Phil Haack有一篇关于为WCF实现授权属性的博客文章。希望这会指出你正确的方向。

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

相关问题