22

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

4

2 回答 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 在 NDC Oslo 2012 上的演讲。

于 2012-08-31T21:46:27.277 回答
5

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

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

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

即使这通常适用于 Web,您也应该先阅读OWASP Top 10 for .NET 开发人员,然后再继续阅读其他内容。

于 2012-08-31T21:49:39.113 回答