【问题标题】:How to secure REST API in Grails using Spring Security?如何使用 Spring Security 保护 Grails 中的 REST API?
【发布时间】:2013-11-29 20:43:39
【问题描述】:

我有一个 Grails 应用程序,其中我的移动客户端和管理 Web 应用程序使用的 REST API 很少,我必须为 Web 应用程序提供基于表单的安全性,并且每个 REST 服务调用客户端都会发送一个令牌,我在客户端调用通过传递用户名和密码进行身份验证时生成。

为此,我为 Grails 使用了 Spring Security 插件,因此我的管理应用程序得到了预期的保护。但是如何保护我的 REST API,理想情况下,我想为所有 REST API 设置 @Secured(['ROLE_API'])。

【问题讨论】:

标签: grails spring-security


【解决方案1】:

您可以在所有 RESTS URL 的开头添加 /rest/,然后在 Config.groovy 添加

grails.plugins.springsecurity.controllerAnnotations.staticRules = [
        '/': ['permitAll'],
        '/rest/**': ['ROLE_API'],
]

我在这里遇到了类似的问题:Grails, Spring Security and Angular JS - How to protect URLs?

查看 Spring Security 手册http://grails-plugins.github.io/grails-spring-security-core/ 部分配置请求映射以保护 URL

【讨论】:

  • @Kimi,我认为规则 '/**' 匹配所有内容。我对吗?在我的应用程序中,我有规则:'/' ['permitAll'], '/admin/**': ['ROLE_ADMIN'] 并且工作正常。未经登录,我无权访问 url 中带有“/admin”的任何内容。
猜你喜欢
  • 2014-12-06
  • 2013-01-26
  • 2014-02-21
  • 2015-12-09
  • 2014-07-29
  • 2018-08-11
  • 1970-01-01
  • 2012-11-20
  • 2015-03-21
相关资源
最近更新 更多