使用SPA代码保护Web API

时间:2013-11-17 09:06:55

标签: security rest asp.net-web-api authorization single-page-application

我正在使用ASP MVC 4 Web API后端开发一个富客户端javascript应用程序。

您如何建议保护所有ajax请求,并确保它们是由经过身份验证的用户制作的。

谢谢!

2 个答案:

答案 0 :(得分:0)

任何安全机制都可以,例如考虑表单身份验证。 您将Authorize属性添加到控制器方法中,如果已从服务器发出cookie,则ajax请求会携带cookie。

这真的很简单。如果由于某种原因它不适用于您的场景,您必须更具体。

答案 1 :(得分:0)

正如Wiktor建议的那样,您可以使用基于表单的身份验证(HTTP机制)。

如果我们更广泛地考虑您的问题,保护所有AJAX请求意味着什么?

您可能希望实现:

  • 完整性
  • 保密
  • 不可否认性
  • 问责
  • 更?

wikipedia上更广泛地讨论了这个主题。更具体地说,您希望在API中执行以下操作:

  • 保护通信渠道:使用SSL(单向或双向)。这将提供完整性和机密性
  • 使用身份验证。这将为您提供不可否认性和责任感。 .NET中有不同的身份验证方法(Forms,HTTP Basic,基于SAML ...)
  • 用于授权的高级场景(允许用户使用方法调用),使用基于声明的授权(.NET框架的一部分),RBAC或XACML。