ASP.NET Web API - Windows窗体应用程序中的身份验证

时间:2012-11-13 12:38:43

标签: asp.net-mvc winforms authentication asp.net-mvc-4 asp.net-web-api

我使用ASP.NET MVC 4开发了一个Web系统,我必须使用.NET Web API和Windows Forms Application执行集成。

到目前为止一切都很好,但现在我需要使用Windows Forms Application对用户进行身份验证,这个应用程序将在互联网上打开。

我的应用程序已经包含在数据库中注册的用户,并且当前使用ASP.NET MVC的“Authorize”组件进行身份验证。

对于通过客户端(Windows窗体应用程序)的数据消费,我目前使用库Microsoft ASP.NET Web Client API。

如何安全地完成此任务? 有没有人有任何建议?

2 个答案:

答案 0 :(得分:3)

您可以扩展HttpClient以添加身份验证。可以找到一个例子here。它显示了如何使用OAuth将HttpMessageHandler添加到您的管道中进行身份验证。

以下是完整的List of ASP.NET Web API and HttpClient Samples

答案 1 :(得分:0)

查看this Q&A,其中介绍了为Web API创建自定义AuthorizeAttribute,该API还使用http基本安全性对用户进行身份验证,并从HTTP标头中获取凭据。请注意,ASP.NET Web API(System.Web.Http.AuthorizeAttribute)有一个不同的AuthorizeAttribute,而不是MVC控制器(System.Web.Mvc.AuthroizeAttribute)。他们有不同的行为。您不希望调用Web API重定向到登录页面。