api - 使用 Security REST 插件保护 REST API 的安全

标签 api security rest grails plugins

我正在 GRAILS 中构建一个决策支持工具,用于我高中的房间调度。我正在使用 Spring Security,并且想要保护 REST api 的安全。我发现有关正确方法的信息很少。不过我一直在寻找 Spring Security REST plugin

文档对我来说不是很清楚,有人有使用此插件的工作示例/教程吗?

关于如何实现这一点的建议会很棒。

最佳答案

我只是为你大声朗读序列图。我正在使用这个插件和(客户端的 AngularJS)开发一个示例应用程序,并将很快发布(可能今晚)。

步骤如下:

  • 客户端使用任何 HTTP 方法请求 REST 资源。
  • 服务器使用 401(未经授权)响应客户端的请求。
  • 客户端(收到 401 时)将用户重定向到登录页面以提供用户名和密码。 (记住 Spring Security Core 插件)
  • 用户提供用户名和密码。 (意味着,客户端应该发出一个 POST 请求,点击 spring security REST 插件提供的/api/login ,并带有包含用户详细信息的请求正文/请求参数)
  • 接收用户信息的服务器执行 4 项任务:
    • 验证用户。
    • 生成 token (默认由 Spring Security REST 插件提供)。
    • 存储 token (在 memcahe 或 GORM 指定的域类中)。
    • 将 token 返回给被调用者(客户端)。
  • 从服务器收到生成的 token 后,客户端会将其存储在任何本地存储中,并用于该特定用户的进一步 API 调用。
  • 每次针对任何资源调用 API 时, token 都会作为 X-Auth-Token(默认)在 header 中传递,而不是每次都传递 Basic Auth .

因此,您最终会获得基于 token 的 REST 端点验证。 浏览插件的FAQ获取更多答案。

作者很快就会发布最新版本的插件(1.3.0),您会在文档中找到一些更新。

我现在刚刚接触了这个插件的基本功能,但它不仅可以灵活地处理生成 token ,还可以处理更多事情。例如,delegating auth to OAuth providers 。我将在将其推送到 github 后立即更新此答案中上述示例应用程序的链接。

更新:
Sample App

关于api - 使用 Security REST 插件保护 REST API 的安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21989427/

相关文章:

objective-c - iOS 下载安全

javascript - 处理多个并发请求 Express

c# - 如何使用 web api 验证 CRM 用户?

.net - .net core 和 .net framework 的区别漏洞

java - 原生 sql 查询 - SQL 注入(inject)攻击

scala - Playframework Scala - 删除路由问题

java - (Java)if 语句优化

python twitter api 获取状态

javascript - 需要深入了解如何构建 javascript fetch API

android - 通过 api 连接蓝牙 pan 配置文件