Web API身份验证最佳实践

22
考虑到数据安全非常重要且ASP.NET应用程序运行在Azure上,哪种身份验证方法是Web API的最佳选择?
2个回答

43

在处理身份验证和保护Web API时,建议您遵循Dominick Baier制定的指南。在ASP.NET身份管理方面,可能没有比他更好的专家了。

您可以在http://leastprivilege.com/找到他的博客,并在Nuget上找到一个很棒的Web API身份包Thinktecture.IdentityModel - http://nuget.org/packages/Thinktecture.IdentityModel

正如大多数优秀的开源库一样,由于所有功能都可免费使用,因此无需重复发明轮子。

这是一个适用于.NET 4.0 / WIF和.NET 4.5(包括对MVC和Web API的支持)的从上到下的身份验证和访问控制库。

如果您想了解更多关于保护Web API的信息,请观看这个视频 http://vimeo.com/43603474 - 这是Dominick在2012年NDC Oslo的演讲。


5

像这样的问题非常“开放”,一切都取决于您项目的要求。如果您想要安全性,您应该考虑采用不同的安全措施的组合。

采用HTTPS与多因素身份验证相结合。一个例子是客户端证书身份验证(私钥存储在加密狗上)和基本身份验证(用户名/密码)。这确保了即使恶意人获取了用户名和密码,他也无法在没有硬件加密狗的情况下访问应用程序。反之亦然,即使硬件令牌被盗,如果不知道用户名和密码,它也是无用的。

以下是一些很好的博客文章可供您开始阅读:

即使这适用于Web开发,您在继续其他任何操作之前,应该阅读 .NET开发人员的OWASP十大安全问题


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接