vmware用户名和密码_VMWare vijava –“用户名或密码不正确”异常的奇怪情况

vmware用户名和密码

在我参与的一个项目中,我们使用yavijava (这是vijava的分支 )库与托管我们的VM的vCenter进行交互。 vCenter通过其Web服务端点公开了各种API,这些API通过HTTP调用。 yavijava库具有必要的钩子,允许开发人员在客户端使用他们选择的HTTP客户端库来处理对vCenter的调用。

在我们的集成中,我们插入了Apache HTTP客户端库 ,以便yavijava调用最终在内部使用该HTTP库进行交互。 一切正常,我们能够调用vCenter API。 我主要说的是,因为我们偶尔会不断看到如下异常:

InvalidLogin:由于用户名或密码错误,无法完成登录。

这令人感到困惑,因为我们完全确定用于与vCenter交互的用户名和密码正确。 特别是由于之前的所有调用都进行得很好,因此在我们开始看到这些异常之前。

异常stacktrace没有包含任何更有用的东西,其他任何日志也没有。 因此,剩下的唯一选择就是去查看vCenter(服务器端)事件日志以查看是否可以找到某些东西。 幸运的是,我可以访问具有vSphere Client的设置,然后将其用于连接到vCenter。 vSphere Client允许您查看在vCenter上生成的事件日志。

查看日志,显示出一些有趣且有用的东西。 每次我们在客户端遇到此“错误的用户名或密码”异常时,vCenter Server上在INFO级别上都有一个相应的事件日志,上面写着“用户无法登录,因为用户已经登录”。 该事件日志是一个足够好的提示,可以让您对可能发生的事情有所了解。

基于该提示,我可以形成的理论是,对于传入的(登录)请求,vCenter Server端会注意到该请求上的某些内容,从而给人一种用户已经登录的印象。考虑到我使用Java EE技术的背景,立即想到的明显的事情是,请求被附加了一个“ Cookie”,服务器端使用它来将请求与特定会话相关联。 因为我可以访问发出此登录请求的客户端代码,所以我绝对确定该请求没有任何显式设置的Cookie标头。 这就提出了一个问题,即cookie的谁/位置与请求相关联。 如果这不是我们发出的请求的一部分,那么唯一可能发生的地方是HTTP客户端库内。 阅读Apache HTTP客户端库的文档,证实了以下理论:HTTP客户端会自动将(先前生成的)Cookie与请求相关联。

更具体地说,HTTP客户端库使用池连接。 发出请求后,将使用其中一个池化连接(如果有)。 在此特定情况下发生的是,先前的登录将获取连接C1,并且登录将成功。 从vCenter返回的针对该登录请求的响应将在响应标头中包含一个Cookie集。 然后,Apache HTTP客户端库针对使用的连接跟踪此Cookie。 现在,当后续登录请求到达时,如果相同的池连接C1用于该请求,则HTTP客户端库会将针对该连接C1跟踪的Cookie附加到此新请求。 结果,vCenter Server端最终看到传入的登录请求具有与之关联的Cookie,这表明该请求已经存在一个登录会话。 因此,vCenter事件日志中的该INFO消息。 当然,返回的错误信息不多,实际上有点误导,因为它说用户名/密码不正确。

现在我们知道发生了什么,解决方案非常简单。 Apache HTTP客户端库允许您配置Cookie策略管理。 由于在我们的案例中,我们希望处理针对请求的显式设置Cookie,因此我们决定采用可在HTTP客户端上配置的“ ignoreCookies”策略。 有关更多信息,请参见HTTP客户端库文档 (请参阅“ Cookie的手动处理”部分)。 进行更改后,我们将不再看到此异常。

我找不到任何有关此问题的信息。 我能找到的最接近的是该论坛线程https://sourceforge.net/p/vijava/discussion/826592/thread/91550e2a/ 。 它没有一个确定性的解决方案,但似乎确实存在与用户所遇到的问题相同的问题(将近7年!)

翻译自: https://www.javacodegeeks.com/2018/05/vmware-vijava-the-curious-case-of-incorrect-user-name-or-password-exception.html

vmware用户名和密码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333302.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大学计算机系学生,大学计算机专业学生自我介绍

大学计算机专业学生自我介绍当进入一个新环境,我们不得不需要向他人介绍自己,自我介绍是一种认识自我的手段。那么自我介绍有什么格式呢?以下是小编收集整理的大学计算机专业学生自我介绍,仅供参考,大家一起来看看吧。…

java从数组查找指定整数_如何在Java中使用重复项查找整数数组中的K个缺失数字?...

java从数组查找指定整数自从我讨论任何编码或算法面试问题以来已经有很长时间了,因此我想重新考虑一种最流行的基于数组的编码问题,即在给定数组中查找缺失的数字。 在进行编程工作面试之前,您可能已经听说过或看到过此问题,但是面…

Java代码的执行顺序

代码块的执行顺序如下: 1.静态块 2.父类构造器 3.本类中的块 4.本类的构造器 代码语句执行顺序: 整体是从上到下,从左到右,但是赋值语句,则是从右到左,必须先执行等号右边的语句得到值,再声明…

百度feeds联盟软件测试开发,UI 自动化测试用例整理举例-百度首页

前言现在分享下如何进行用例整理和组合管理。例子:以喜闻乐见的 百度 首页为例吧。场景分析:1. 测试点:百度首页,我们可以设定红色部分为测试点:共用 7 个测试点:测试搜索功能是否正常。测试右上 6 个常用链…

jdk8读取文件_用于从文件读取/写入文件的新JDK 11文件方法

jdk8读取文件我之前的文章重点讨论了可能添加到JDK 11中的Files.isSameContent()方法。 JDK-8201276 [“(fs)向文件添加方法以从文件读取字符串或向文件写入字符串”]提到了此新方法,并重点介绍了本文的主题: readString(Path) …

IntelliJ IDEA for Mac如何通过指定的关键字查找/搜索类文件

查找对话框 按下组合键 <Shift-Command-F> 打开查找对话框&#xff0c;如下图所示&#xff1a; 匹配模式 Match case&#xff1a;区分大小写 Words&#xff1a;匹配完整的单词 例如&#xff0c;我要在下面的文本中匹配搜索 liaowenxiong Regex&#xff1a;正则表达式…

计算机活动天窗,玩出花样,天窗的正确打开方式

最近&#xff0c;一位妈妈因天窗而走红&#xff0c;甚至还引发了新一轮父母育儿方式的热烈探讨&#xff0c;车叔很疑惑&#xff0c;这天窗到底怎么了&#xff1f;原来&#xff0c;这位年轻妈妈为引导不愿上学的孩子去上学&#xff0c;灵机一动&#xff0c;采取了有别于打骂或哄…

input发送a.jax_与时俱进:在JAX-RS API中采用OpenAPI v3.0.0

input发送a.jax看到时间流逝如此之快&#xff0c;真是太恐怖了&#xff01; OpenAPI规范3.0.0是对Swagger规范的重大改进&#xff0c;大部分已于一年前发布&#xff0c;但工具赶上了一段时间。 但是&#xff0c;随着最近Swagger Core 2.0.0的正式发布&#xff0c;事情肯定会加速…

display和show的区别

一、词义不同 1、display &#xff1a;展览&#xff0c;陈列&#xff1b;陈列品&#xff0c;展览品&#xff1b;显示器&#xff1b;炫耀。 例句&#xff1a;It was an incredibledisplayof motherly love and forgiveness. 那是慈母般关爱与宽容的了不起的表现。 2、show&am…

人类一败涂地邀请好友一直显示连接服务器,人类一败涂地怎么邀请好友 局域网创建房间方法图文教学-游侠网...

人类一败涂地怎么邀请好友?想要邀请好友&#xff0c;就要先创建房间&#xff0c;有些玩家不知道具体的操作&#xff0c;这里给大家带来了“主播北北”提供的人类一败涂地局域网创建房间方法图文教学&#xff0c;一起学习下吧。局域网创建房间方法图文教学按照下列步骤操作操作…

将json绑定为对象_了解自定义对象创建:JSON绑定概述系列

将json绑定为对象让我们看一下JSON绑定如何处理自定义对象的创建。 本系列的下一篇文章将介绍如何使用适配器自定义JSON-B。 JSON-B期望所有类都有一个公共的无参数构造函数 &#xff0c;在反序列化过程中使用它来实例化目标类。 创建实例后&#xff0c;可通过调用适当的sett…

什么是迭代

迭代是重复反馈过程的活动&#xff0c;其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”&#xff0c;而每一次迭代得到的结果会作为下一次迭代的初始值。 重复执行一系列运算步骤&#xff0c;从前面的量依次求出后面的量的过程。此过程的每一次结果&a…

sum服务器操作系统,SUM服务器监控软件

SUM服务器监控软件是服务器监控软件中最为流行的一种企业级监控软件系统&#xff0c;它具有功能强大、监控计数器齐全、完全可配置可管理、集中的监控软件、良好的可扩展性。它除了为企业单位提供IT系统(服务器、网络设备等)的基础监控外&#xff0c;还为企业提供运行在这些基础…

jpa批量保存,事务没提交_在事务外自动保存托管JPA实体

jpa批量保存,事务没提交Spring中的存储库和事务并存。 Spring中的所有数据库访问都应在事务内运行&#xff0c;并且通常在某个地方使用Transactional来强制执行此操作。 但是&#xff0c;这并不总是必需的。 例如&#xff0c;当使用Spring Data时&#xff0c;您的存储库使用Sim…

sum和total的区别

文章目录一、词义辨析不一样二、词义广泛性不一样三、变形词不一样一、词义辨析不一样 1、sum指两个或更多的数目相加的总和。 例&#xff1a;When you add all the figures together, the sum is100. 当你把这些数字加起来&#xff0c;总数是100。 2、total指总量之大&…

速达服务器账套定期维护么,速达软件常见操作问题解决方法

《速达软件常见操作问题解决方法》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《速达软件常见操作问题解决方法(11页珍藏版)》请在人人文库网上搜索。1、速达软件常见操作问题解决方法,速达软件 ,1,打开客户端登陆时“你输入的数值不规范&#xff0c;请输入整数&…

IntelliJ IDEA for Mac在MacOS模式下的导航快捷键(Navigation Shortcut)

快捷键快捷键符号英文名称功能说明Shift Command [⇧⌘[Go to previous editor tab/Select Previous Tab向左切换打开的编辑 tab 页Shift Command ]⇧⌘[Go to next editor tab/Select Next Tab向右切换打开的编辑 tab 页F12Go back to previous tool window返回到前一个工…

redis streams_初步了解Redis Streams以及如何在Java中使用它们

redis streams自今年年初以来&#xff0c;Redis Streams已进入Redis的unstable分支&#xff0c;并且第一个客户开始采用Redis Streams API。 因此&#xff0c;这是一个绝佳的时间&#xff0c;可以从客户端的角度看一下Redis Streams提供的功能以及如何使用它们。 免责声明&…

IntelliJ IDEA for Mac 在MacOS模式的重构快捷键(Refactoring Shortcut)

快捷键快捷键符号英文名称功能说明F5Copy复制文件到指定目录F6Move移动文件到指定目录Command Delete⌘⌫Safe Delete安全删除ShiftF6⇧F6Rename重命名&#xff0c;批量修改相同引用变量的名称。例如&#xff0c;变量 i &#xff0c;在代码中多个地方有使用到&#xff0c;那么…