保护 Grails REST 服务以用于移动应用程序
Posted
技术标签:
【中文标题】保护 Grails REST 服务以用于移动应用程序【英文标题】:Securing Grails REST service for use with mobile applications 【发布时间】:2011-12-18 13:48:24 【问题描述】:我正忙于研究如何将 REST 服务用于移动应用程序,希望能得到一些见解。场景如下。
考虑一个为用户提供服务的 Web 应用程序。 Web 应用程序也将成为用户的主要交互点。这将在 Grails 中完成,并使用 Spring Security 进行保护。
现在,我们希望提供 REST 服务,以便用户可以通过移动应用程序使用该服务。由于 Grails 对现有的 Web 应用程序 RESTful 的支持非常好,因此我们将使用内置的 Grails 支持。
我现在的问题是,保护 REST 服务接口的“最佳”方式是什么,以便它可以在移动应用程序(本机 - ios、Andriod、WM7、BB)中使用。
交换的信息高度敏感,因此越安全越好。
谢谢
【问题讨论】:
【参考方案1】:我们决定将我们的 grails 项目一分为三...
model-domain-project(这是“管理”部分,所有视图/控制器脚手架,以及所有服务、域) web-app(这是主应用程序、控制器、视图) api-rest-app(这是其余控制器)model-domain-project 是一个插件,它插入到 web-app 和 api-app 中,包含域模型、服务以及所有的数据库安全、事务等。
web-app 是所有的 html 模板、视图和控制器,这里我们使用 Spring Security 的属性
我们正在使用 grails-filters 的 api-rest-app,我们正在通过 https 使用带有过期日期的令牌的 Basic-Authorization...
如果到了令牌的到期日期,您将不得不使用我们发送给您的第一个令牌的“请求令牌”请求另一个令牌......(它或多或少像 oauth2)
要获得前两个令牌,您必须通过使用用户/电话/密码登录来确认设备,然后通过短信收到一个密钥,您必须在应用程序中输入该密钥
不知道这是否是最好的方式,但我们就是这样做的......
有时我们使用 web-app 作为客户端并调用 api-rest-app...
【讨论】:
有趣的方法,我们也想这样做。你能分享一个过滤器实现的例子吗? 嗨!我不再从事那个项目,而且我没有 src。 awalkingcity.com/blog/2008/03/07/… 这里很简单。希望对你有帮助以上是关于保护 Grails REST 服务以用于移动应用程序的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spring Security Rest 插件保护 Grails Rest Api
使用 GRAILS、GROOVY、ORACLE 和 API KEY 保护 REST API
使用 Spring Boot 保护移动应用程序和微服务的 Rest API [关闭]