保护Grails REST服务以用于移动应用程序

时间:2011-10-31 08:29:42

标签: security rest grails restful-authentication

我正忙着研究如何在移动应用程序中使用REST服务,并希望获得一些见解。方案如下。

考虑向用户提供服务的Web应用程序。 Web应用程序也将成为用户的主要交互点。这将在Grails中完成,并使用Spring Security进行保护。

现在,我们希望提供REST服务,以便用户可以通过移动应用程序使用该服务。由于Grails对现有的Web应用程序RESTful提供了很好的支持,我们将使用内置的Grails支持。

我现在的问题是,保护REST服务接口的“最佳”方式是什么,以便可以从移动应用程序(原生iOS,Andriod,WM7,BB)使用。

交换的信息非常敏感,因此越安全越好。

由于

1 个答案:

答案 0 :(得分:5)

我们决定将我们的grails项目分成三个......

  • model-domain-project(这是“admin”部分,包含所有视图/控制器搭建,以及所有服务,域名)
  • web-app(这是主要的应用程序,控制器,视图)
  • api-rest-app(这是其余的控制器)

模型域项目是一个插件,它插入了web-app和api-app,包含域模型,服务以及所有数据库安全性,事务等。

web-app是所有html模板,视图和控制器,这里我们使用Spring Security的属性

api-rest-app我们正在使用grails-filters,我们通过https使用带有过期日期的令牌进行基本授权...

如果达到令牌的到期日期,您将不得不要求另一个带有“请求令牌”的令牌,我们向您发送了第一个令牌......(它或多或少像oauth2)

要获得两个第一个令牌,您必须通过使用用户/电话/密码登录确认设备,然后通过短信接收密钥,您必须在应用程序中输入

不知道这是否是最佳方式,但这是我们这样做的方式......

有时我们使用网络应用作为客户端并调用api-rest-app ...