一尘不染

Android Session在IBM Websphere Server中迷路了

tomcat

每当我从android设备访问登录页面时,都必须创建并维护会话,直到用户单击注销按钮。.但是,IBM Websphere
Servers似乎存在一个奇怪的问题..我能够成功登录,但是当我尝试请求会话从服务器上丢失的其他数据,但在Apache
TomCat上运行服务器的服务器则不是这种情况,在iOS设备中也能正常工作!

示例:1.用户登录->为此用户创建会话2. Android应用以1秒的间隔连续命中服务器3.用户注销->用户已成功注销

在Apache TomCat的情况下,此流程是正确的,但在步骤2的Websphere的情况下。该会话已丢失,因此用户甚至无法注销

可能是什么问题 ?在服务器端我可能缺少什么?还是websphere有兼容性问题?


阅读 214

收藏
2020-06-16

共1个答案

一尘不染

这个问题需要分两部分解决

  1. Android Side

默认情况下,Android HttpPost不会发送必要的标头,因此我们需要显式添加标头,当您使用Websphere
Servers处理android的会话管理时,最重要的是JSESSIONID。您要做的就是从Server获取JESSIONID响应并将其附加到您对服务器提出的任何其他请求。

  1. 网络圈

Websphere需要设置为重要属性,可以通过以下步骤实现:

一个。打开管理控制台。

b。选择服务器>应用程序服务器> Server_Name>服务器基础结构> Java和进程管理>进程定义> Java虚拟机>定制属性>新建。

C。为JVM添加新的自定义属性以重用sessionId:系统属性名称:HttpSessionIdReuse系统属性值:true

d。保存所做的更改,然后重新启动Application Server。

2020-06-16