我在 VS 2012 中使用实体框架代码优先和 WPF 应用程序作为客户端创建了 MVC 4 Web Api。
我目前正在努力解决的问题是我必须从客户端启用身份验证并授权用户访问 Api(例如:每个经过身份验证的用户都可以访问 GET 方法,但只有管理员可以使用 POST 或 DELETE)。我使用了 MVC 4 Internet 应用程序,因为已经包含表单身份验证,在我尝试从我的客户端应用程序登录之前它运行良好。在花了一些时间研究我的问题后,我意识到表单身份验证主要应该与网络浏览器一起使用。我什至找到了一些可能的解决方案,让它使用 CookieContainers 与 HttpClient 一起工作(例如:如何在 HttpClient 的 HttpRequestMessage 上设置 cookie),但对我没有任何作用。
在花了几个小时研究完成我想做的事情的方法之后,我觉得完全被卡住了。
我读过关于 SimpleMembershipprovider、BasicAuthentication、OAuth 和有人提到 Thinktecture.Identitymodel,但并不能真正决定哪种方法最有效.
如果在与网络浏览器以外的客户端连接时确实无法使用表单身份验证,那么最好的身份验证/授权方法是什么?
如果有人可以向我提供有关在这种情况下最有效的方法的提示,我将非常高兴,因为在研究了几个小时后,我只会变得越来越困惑。
提前感谢您的帮助!