Web API身份验证最佳实践

时间:2012-08-31 21:12:11

标签: azure architecture asp.net-web-api security

考虑到数据安全性至关重要并且ASP.NET应用程序在Azure上运行,哪一个是Web API的最佳身份验证方法?

2 个答案:

答案 0 :(得分:43)

在处理身份验证和保护Web API时,我建议您遵循Dominick Baier设置的准则。世界上可能没有更好的ASP.NET身份管理专家。

你可以在http://leastprivilege.com/找到他的博客,在Nuget,Thinktecture.IdentityModel - http://nuget.org/packages/Thinktecture.IdentityModel找到一个很棒的Web API身份包。 与大多数优秀的开源库一样,由于所有功能都可以免费使用,因此无需重新发明轮子。

这是一个自上而下的身份和.NET 4.0 / WIF和.NET 4.5的访问控制库(包括对MVC和Web API的支持)。

如果您想了解有关保护Web API的更多信息,您还应该观看此视频http://vimeo.com/43603474 - Dominick在NDC Oslo 2012上的演讲。

答案 1 :(得分:5)

这些问题非常“开放”,这完全取决于项目的要求。如果您需要安全性,则应考虑不同安全措施的组合。

将HTTPS与Multi-factor authentication结合使用。一个例子是客户端证书身份验证(存储在加密狗上的私钥)和基本身份验证(用户名/密码)。这可以确保即使恶意用户获得用户名和密码,他也无法在没有硬件加密狗的情况下访问该应用程序。反过来也是如此,即使硬件令牌被盗,在不知道用户名和密码的情况下也没用。

这些可能是一些很好的博客文章,可以帮助您入门:

即使这一般适用于网络,在继续其他任何操作之前,您应先阅读the OWASP Top 10 for .NET developers