【发布时间】:2012-08-26 16:41:36
【问题描述】:
考虑到数据安全性至关重要且 ASP.NET 应用程序在 Azure 上运行,哪一种是 Web API 的最佳身份验证方法?
【问题讨论】:
标签: azure architecture asp.net-web-api security
考虑到数据安全性至关重要且 ASP.NET 应用程序在 Azure 上运行,哪一种是 Web API 的最佳身份验证方法?
【问题讨论】:
标签: azure architecture asp.net-web-api security
在处理身份验证和保护您的 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 上的演讲。
【讨论】:
这样的问题非常“开放”,这完全取决于您项目的要求。如果您想要安全,您应该考虑组合不同的安全措施。
将 HTTPS 与Multi-factor authentication 结合使用。一个示例是客户端证书身份验证(存储在加密狗上的私钥)和基本身份验证(用户名/密码)。这可以确保即使恶意人员获取用户名和密码,他也无法在没有硬件加密狗的情况下访问应用程序。反之亦然,即使硬件令牌被盗,不知道用户名和密码也无济于事。
这些可能是一些不错的博客文章,可以帮助您入门:
即使这通常适用于网络,您也应该先阅读the OWASP Top 10 for .NET developers,然后再继续阅读其他内容。
【讨论】: