我使用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。
如何安全地完成此任务? 有没有人有任何建议?
答案 0 :(得分:3)
您可以扩展HttpClient以添加身份验证。可以找到一个例子here。它显示了如何使用OAuth将HttpMessageHandler
添加到您的管道中进行身份验证。
答案 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重定向到登录页面。