2011-12-11 34 views
0

什么是实现上下文REST的方式,例如。 GET /ws/shoppingcart返回相应的用户(这里是上下文)购物车。这只是一个例子。 我是否需要安装SSL并使用https://而不是http://来为每个用户请求提供服务?上下文REST。怎么样?

编辑

整个故事:我需要开发后端REST服务,然后将移动设备(本地应用程序)一起使用。后端语言是Java。所以,有很多用户,所以我需要确保知道当前的“登录”用户,因此可以将任何请求与正确的用户身份(身份验证)相关联。所以,我想知道什么是正确的实施方式?从乞讨到年底开始:

  • 初始发送请求的用户名/密码,
  • 关联的每个以下要求与当前用户
  • 拒绝服务请求,如果没有当前用户,那么匿名电话,即只有公共请求允许匿名用户
  • 的解决方案应该是足够安全
+0

请提供更多您的意思的例子。一个例子是不够的。 – Oded

+0

我们在这里说什么软件? –

回答

0

我们已经实现了类似的方法是要求所有的请求有一个“票”发送标题。该票据由初始/登录方法创建并返回。

我们将票存储在数据库中并使用滑动过期。

+0

那么,初始登录请求是SSL/TLS请求?如果有人有机会获得“门票”,他/她可以暂时在未经授权的情况下访问资源,直到门票过期为止,对吧? – akazlou

0

我们使用SSL并从证书中检索用户的身份。但是,您可以使用标准或自定义标题字段。一个例子就是通过cookie标题字段将它传递给cookie。另一种可能是将这个用户上下文包含在你的URI方案中,尽管如果你没有在你的“协议”中使用超媒体(HATEOAS)(例如,客户端通过一个众所周知的入口点访问服务,然后单纯地根据在响应中提供的链接)

很显然,任何这些都会影响您的“协议”并需要进行适当的文档记录,以便客户端知道该怎么做。