【发布时间】:2013-11-17 01:02:10
【问题描述】:
我正在使用 grails/groovy 开发 REST API。我想保护所有进出的请求。我不确定加密和解密过程在哪里。我考虑了几个选项。
- 从所有控制器端点调用解密 api - 我 想一个不好的选择
- 使用 Grails 过滤器
- Shiro 过滤器 - 我们已经将 shiro 用于其他目的。是否可以扩展它以保护 REST 电话?
- Spring AOP
- 还有别的吗??
我不知道该选择哪一个,以确保我的所有 REST 请求和响应都是安全的。我正在考虑选择选项 #2。我希望其他人也会面临这个问题。任何建议都会对我做出决定有很大帮助。提前谢谢!!!
【问题讨论】:
-
一般来说,对于任何语言,这类问题都需要使用钩子。那么,Grails 有钩子吗?
-
什么版本的 Grails?当您说加密/解密时,您是指 SSL 还是其他加密算法?还是您只是想限制对具有足够角色/权限的经过身份验证的用户的访问?
-
您的安全要求是什么?我假设您应该使用 SSL,除非有效负载本身中有不应在接收系统中查看的敏感信息。通过 Grails 过滤器,您是指 Spring Security 吗?这是一个非常成熟的安全解决方案。
-
@BurtBeckwith,我正在使用 Grails 2.2,很快就会迁移到 2.3。我们将在 SSL 中调用 REST api。我已经对角色和权限进行了基本设置。但最重要的是,有效负载中的请求和响应将被加密。我们正在使用自己的算法进行加密和解密。这是在单独的层中,我应该能够从上述任何选项中调用它。
标签: spring rest grails groovy shiro