【问题标题】:How to Secure all REST request and response in Grails如何保护 Grails 中的所有 REST 请求和响应
【发布时间】:2013-11-17 01:02:10
【问题描述】:

我正在使用 grails/groovy 开发 REST API。我想保护所有进出的请求。我不确定加密和解密过程在哪里。我考虑了几个选项。

  1. 从所有控制器端点调用解密 api - 我 想一个不好的选择
  2. 使用 Grails 过滤器
  3. Shiro 过滤器 - 我们已经将 shiro 用于其他目的。是否可以扩展它以保护 REST 电话?
  4. Spring AOP
  5. 还有别的吗??

我不知道该选择哪一个,以确保我的所有 REST 请求和响应都是安全的。我正在考虑选择选项 #2。我希望其他人也会面临这个问题。任何建议都会对我做出决定有很大帮助。提前谢谢!!!

【问题讨论】:

  • 一般来说,对于任何语言,这类问题都需要使用钩子。那么,Grails 有钩子吗?
  • 什么版本的 Grails?当您说加密/解密时,您是指 SSL 还是其他加密算法?还是您只是想限制对具有足够角色/权限的经过身份验证的用户的访问?
  • 您的安全要求是什么?我假设您应该使用 SSL,除非有效负载本身中有不应在接收系统中查看的敏感信息。通过 Grails 过滤器,您是指 Spring Security 吗?这是一个非常成熟的安全解决方案。
  • @BurtBeckwith,我正在使用 Grails 2.2,很快就会迁移到 2.3。我们将在 SSL 中调用 REST api。我已经对角色和权限进行了基本设置。但最重要的是,有效负载中的请求和响应将被加密。我们正在使用自己的算法进行加密和解密。这是在单独的层中,我应该能够从上述任何选项中调用它。

标签: spring rest grails groovy shiro


【解决方案1】:

我想过滤器是实现这一点的好方法,而 shiro 已经附带了ShiroSecurityFilters。在这些过滤器中,您可以轻松检查您的 REST 控制器并应用特殊处理。根据您需要加密的内容,考虑控制器类的beforeInterceptorafterInterceptor 也是有意义的:http://grails.org/doc/latest/ref/Controllers/beforeInterceptor.html

【讨论】:

    【解决方案2】:

    我认为这篇文章可以帮助到你:

    Securing Grails REST service for use with mobile applications

    不考虑移动部分,如果这是您的问题,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-14
      • 2018-11-29
      • 2013-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-29
      相关资源
      最近更新 更多