【发布时间】:2016-03-12 00:04:17
【问题描述】:
我有一个通过被动客户端进行身份验证的应用程序。基本上基于服务器信息,将启动浏览器并显示登录屏幕。一旦用户输入登录凭据,cookie 和会话的进一步处理将在shouldOverrideUrlLoading 中完成。
当我连接到集群环境中的 Web 应用程序服务器时,身份验证会出现问题。当用户连接到第一台服务器时,它会显示他的登录屏幕并且用户输入详细信息,服务器进行身份验证,但是在shouldOverrideUrlLoading 的会话处理期间,我的代码使用相同的 url 连接到同一台服务器,但服务器的响应来自该用户还没有通过身份验证,而他已经进行了身份验证。
所以为了区分不同的服务器,我们使用 JSESSIONID 来识别服务器。
我得到了在第一个 URL 上使用的原始 JSESSIONID,但是当第二个 URL 被触发时,我的代码在第二个 URL 的请求中使用第一个 URL 的 JSESSIONID 和其他 cookie。要触发第二个 URL,我使用 org.apache.http.impl.client.DefaultHttpClient.execute 方法。
我不确定从服务器获取用户已通过身份验证的响应时缺少什么。
【问题讨论】:
-
这很抽象。显示代码?
标签: android application-server jsessionid