【问题标题】:Securing Web API with SPA code使用 SPA 代码保护 Web API
【发布时间】:2013-11-17 09:06:54
【问题描述】:

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

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

谢谢!

【问题讨论】:

  • 你看过 asp.net 的关于安全的 webapi 站点吗?如果没有,你应该检查一下。有几个详细的选项:asp.net/web-api/overview/security 没有明确的最佳选择...这取决于您的需求。

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    您可能想要实现:

    • 诚信
    • 保密
    • 不可否认
    • 问责制
    • 更多?

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多