【发布时间】:2012-01-23 15:45:22
【问题描述】:
我目前正在使用 WCF web api 开发一个 web api,它允许我编写 restful api。我担心的一个问题是安全性。出于这个原因,我决定使用运行良好的 OAuth 协议来保护我的 api。然而,团队得出的结论是,我们自己的应用程序不应该通过 oauth 授权,而是应该通过 http basic 授权,这意味着客户端应用程序应该发送用户名和密码。
所以我有两个问题:
- 如何设置 WCF Web Api 以使用 SSL,我使用的是 Web Api 预览版 6,并且项目是 MVC3 应用程序?
- 我有一个操作处理程序,它负责从客户端访问令牌创建 IPrincipal,然后将其注入操作参数,因此我可以访问用户的信息。我想在同一个操作处理程序中有一个条件,我可以检查授权方案是 OAuth 还是 http basic,然后在 http basic 的情况下,提取用户的凭据并根据我的数据库对特定用户进行身份验证,如果身份验证成功创建一个 IPrincipal 并将其注入到操作参数中。但是,正如我所看到的,每次使用 http basic 的应用程序向 api 请求某些内容时,我都必须访问数据库并进行身份验证。所以我的问题是:我是否走在正确的道路上,或者这可以通过其他方式实现?
任何答案将不胜感激。提前谢谢你!
【问题讨论】:
标签: c# wcf asp.net-mvc-3 ssl wcf-web-api