我有一份 Jenkins 工作,我在其中登录网站。该网站的用户名和密码与我用于 Jenkins 的用户名和密码相同。 我想获取 Jenkins 用户名和密码,并将其传递给我编写的用于登录该网站的 java 代码。
如何获取 Jenkins 用户名和密码属性?
背景: 假设我使用“username1”和“password1”登录 Jenkins。我有一个使用相同登录凭据的网站。我创建了一个 Jenkins 工作来登录这个网站。这个 Jenkins 工作被很多人使用。我想以这样的方式编写 Java 代码,当每个人登录系统并运行此 jenkin 作业时,它将获取此人登录 jenkins 的用户名和密码,并使用该用户名和密码登录网站。 这样一来,任何人都无法获得他人的密码。他们将使用自己的用户名和密码。
最佳答案
对此没有通用的解决方案。
- 用户如何向 Jenkins 进行身份验证是在“全局安全->安全领域”部分中配置的。
- 例如,如果您配置基于 LDAP 的身份验证,那么 Jenkins 根本不会存储输入的凭据(有充分的理由)。
- 因此,您将无法重复使用用户凭据对其他服务进行身份验证。
只有在您选择“Jenkins 自己的用户数据库”作为安全领域的非常特殊的情况下,您才可能能够找回密码。但是,本地 Jenkins 凭据将与您与其他服务共享凭据的想法发生冲突...
可能,将 Jenkins 身份验证委托(delegate)给 servlet 容器会有所帮助 - 如果您设法将 servlet 容器的身份验证机制连接到您需要使用的服务。
关于java - 如何获取 Jenkins 用户名和密码属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54740144/