【问题标题】:ASP.NET Web API - Authetication in Windows Forms ApplicationASP.NET Web API - Windows 窗体应用程序中的身份验证
【发布时间】:2012-11-01 21:25:51
【问题描述】:

我使用 ASP.NET MVC 4 开发了一个 Web 系统,我必须使用 .NET Web API 和 Windows 窗体应用程序进行集成。

到目前为止一切都很好,但现在我需要使用 Windows 窗体应用程序对用户进行身份验证,并且该应用程序将在 Internet 上打开。

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

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

我怎样才能安全地完成这项任务? 有人有什么建议吗?

【问题讨论】:

  • 您的 Windows 窗体应用程序如何调用您的 WebApi?
  • 对于通过客户端(Windows 窗体应用程序)进行数据消费,目前我使用库 Microsoft ASP.NET Web 客户端 API。

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


【解决方案1】:

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

这里是完整的List of ASP.NET Web API and HttpClient Samples

【讨论】:

  • 沃特,我去看看。谢谢!
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2013-02-19
    • 2013-04-09
    • 2017-10-27
    • 2017-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-10
    • 1970-01-01
    相关资源
    最近更新 更多