【问题标题】:Securing jQuery calls to Spring MVC REST API using Spring Security使用 Spring Security 保护对 Spring MVC REST API 的 jQuery 调用
【发布时间】:2012-11-20 08:42:46
【问题描述】:

我正在使用 Spring MVC 框架开发一个 REST JSON API。我想为用户提供一个 HTML 应用程序,服务器和客户端之间的整个通信都是用 JSON 格式完成的。所以客户端单个 HTML 应用程序使用 jQuery 向服务器发送 AJAX 调用。

我的大问题是找到正确的方法来集成适当的安全技术。我通过 Spring Security 阅读了很多关于基本、摘要或基于表单的身份验证的信息,但我认为这不是正确的方法。如果用户未登录并且我不想在每个请求中发送 jsessionid,我想获得 JSON 响应。

您能否告诉我如何通过执行 AJAX 请求来验证用户身份的正确方法或最佳实践?也许它是 OAuth 2 腿? (对 OAuth 不太了解)

【问题讨论】:

标签: ajax json rest spring-mvc spring-security


【解决方案1】:

如果您不想在服务器端会话中存储身份验证信息(并在 cookie/url 中使用 JSESSIONID),您可以使用 BASIC 身份验证标头(在 JS 中创建)在每个 ajax 请求中发送身份验证信息。

我从未使用过 2-legged oauth,所以我不会对此发表评论。

编辑:错字

【讨论】:

  • 我目前的见解:因为我希望能够使用 json 和 ios 应用程序为我的单页主页提供服务,所以我需要两种不同的身份验证方法。一个基于表单的登录,带有用于 AJAX 调用的 cookie 和一个用于 iOS 应用程序的基本身份验证(两者都通过 HTTPS 运行)。我使用 Spring Security 和同一控制器的多个请求映射实现了身份验证。对于每个控制器,都有一个映射(/ajax/controlerName/ 和 /rest/controlername)。因此,我可以为 URL /ajax/** 和 /rest/** 设置两种不同的身份验证方法。这是一个好的解决方案吗?
猜你喜欢
  • 2014-02-21
  • 2014-07-29
  • 2015-12-09
  • 2014-12-06
  • 1970-01-01
  • 2018-08-11
  • 2016-03-04
  • 2013-11-29
  • 1970-01-01
相关资源
最近更新 更多