跑灰向前冲 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条)

报告相同问题?

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格