【发布时间】:2013-05-07 18:37:33
【问题描述】:
我在 VS 2012 中使用 Entity Framework Code-First 和 WPF-Application 作为客户端创建了一个 MVC 4 Web Api。
我目前正在努力解决的问题是我必须从客户端启用身份验证并授权用户访问 Api(例如:每个经过身份验证的用户都可以访问 GET 方法,但只有管理员可以使用 POST 或 DELETE )。我使用了 MVC 4 Internet 应用程序,因为已经包含表单身份验证,在我尝试从客户端应用程序登录之前,它运行良好。在花了一些时间研究我的问题后,我意识到表单身份验证主要应该与网络浏览器一起使用。我什至找到了一些可能的解决方案,让它使用 CookieContainers 与 HttpClient 一起工作(例如:How do I set a cookie on HttpClient's HttpRequestMessage),但对我没有任何作用。
在花了几个小时研究完成我想做的事情的方法之后,我觉得完全被卡住了..
我读过有关 SimpleMembershipprovider、BasicAuthentication、OAuth 和有人提到 Thinktecture.Identitymodel 的文章,但我并不能真正决定哪个最有效。
如果在与网络浏览器以外的客户端连接时确实无法使用表单身份验证,那么最好的身份验证/授权方法是什么?
如果有人能向我提供有关在这种情况下最有效的方法的提示,我将非常高兴,因为在研究了几个小时后,我只会越来越困惑。
提前感谢您的帮助!
【问题讨论】:
标签: c# authentication asp.net-mvc-4 dotnet-httpclient