Android永远保持会话

时间:2016-06-06 21:24:16

标签: android login synchronization httpclient

你可能认为我正在询问的事情恰恰相反。我们在特定设备上遇到了一个小错误,它总是无法通过HTTPClient

登录该站点
public void Login() {
    final WebHandler webHandler = this;
    this.httpclient = new DefaultHttpClient();
    this.thread = new Thread(new Runnable()
    {
        @Override
        public void run()
        {
            // update local database
            SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(root);
            Login(prefs.getString(Keys.PREFERENCE.USERNAME, ""), prefs.getString(Keys.PREFERENCE.PASSWORD, ""));
            for (OnCompleteListener method : event_handler)
                method.onComplete(webHandler); // pop event

            Logout();
        }
    });
    this.thread.start();
}
public void Logout() {
    try {
        this.httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(Domain + LOGOUT_URL);
        HttpResponse response = this.httpclient.execute(httppost);
    } catch (IOException e) {
        if (e.getMessage() != null)
            Log.e("Logout()", e.getMessage());
        else
            Log.e("Logout()", e.toString());
    }
}

想法是请求将登录到站点(即使它已经登录),访问页面以获取信息,然后注销。我们似乎与我们的一个设备(中国“游戏”平板电脑)的问题是它永远不会退出。即使尝试使用有缺陷的凭据登录,也始终允许访问该站点。我已经浏览了设备上的浏览器并注销了,清除了数据等。没有合理的解释为什么这个设备从登录锁定的网站获取信息。我甚至不知道如何调试这种情况。

1 个答案:

答案 0 :(得分:0)

网站使用Joomla进行编码,看来该网页没有访问级别限制,默认为"访客"用户访问权限将此更改为"员工"解决了这个问题。