首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unirest正在缓存基本身份验证信息

Unirest正在缓存基本身份验证信息
EN

Stack Overflow用户
提问于 2017-07-25 21:11:20
回答 1查看 1.4K关注 0票数 1

我们调用后端2个rest服务(A,B) (GET方法),这两个服务有不同的凭证(用户名和密码),但我们遇到了奇怪的行为:

1-如果我们先调用A,认证成功,但是如果我们调用B,我们将收到forbidden (认证失败)

然后,我们再次部署应用程序,并执行以下方案:

2-先调用B,鉴权成功,但是如果我们调用A,我们会收到forbidden (鉴权失败):

以下是调用后端服务的示例代码:

代码语言:javascript
复制
HttpResponse<String> resp;
        try {
            resp = Unirest.get(url)
                    .basicAuth(username,password).asString();
            String jsonstr = resp.getBody();
        } catch (Exception e) {
            e.printStackTrace();
            throw e;
        }

有什么帮助吗?

EN

回答 1

Stack Overflow用户

发布于 2017-08-09 22:59:37

问题是HTTP客户端在幕后缓存JSESSIONID cookie。我已经切换到位于以下位置的库的OpenUnirest 2.2.08+版本:https://github.com/OpenUnirest/unirest-java

现在,我可以设置禁用cookie管理的选项,这样就解决了基本的身份验证缓存问题。

代码语言:javascript
复制
Options.enableCookieManagement(false);

有关更多信息,请参阅发行票证:https://github.com/OpenUnirest/unirest-java/issues/30

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45304424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档