跑灰向前冲 2011-08-10 15:05
浏览 425
已采纳

Restful webservice的状态维护?

Background
基于Websphere Application Server开发Restful webservice为iPhone/iPad App提供服务.

  1. 希望提供有状态的webservice服务. 但不想使用容器session. 既不想使用jsessionid的形式,希望自行实现tokenid自己维护类似于容器session的object hashmap.
  2. 考虑到延展性,自己维护的session应该是分布式的,并且可以自行同步.

Question:

  1. 该如何实现呢?
    查了很多, 发现大家都选择用Memcached存储. 不知道是否可行?

  2. 可否使用Ehcache替代Memcached?
    如果使用Ehcache可以让Ehcache在Websphere Application Server的JVM中运行吗?

  • 写回答

2条回答 默认 最新

  • myali88 2011-08-10 22:28
    关注

    [quote]
    我设想将token作为参数传递
    第一次获得token之后又一直作为参数传递
    [/quote]
    你这种方式有点类似与[url=http://zh.wikipedia.org/wiki/OAuth]OAuth[/url],应该可行。
    [quote]
    如果没有状态,那么如何使用token进行认证呢?
    你的意思是说我不应该使用REST来与iphone app进行交互吗?
    [/quote]
    我的意思是说REST使用的场景是请求是无状态的,认证授权过程不算是REST请求,而是授权许可后的请求,比如,你请求新浪微博的数据,任何两个请求直接没有任何关联,这样请求才是无状态的。而你现在要的是通过token作为后续请求获取其保存在服务器端数据的依据,请求相互直接有依赖,这表明是有状态的。
    如同购物,必须先有请求添加商品,然后再发请求确认购买,这两个请求就有先后,有依赖。如果你的IPhone App仅仅是通过你提供的RESTful API访问,你怎么强制要求它那这样的顺序发起请求呢,除非你在文档中说明,API只能这样使用。
    我要表明的意思是REST,不适合这样的场景。但如果一定要这样用,理论上也似乎是可行的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀