访问需要基本身份验证的Artifactory/Maven Repo

har*_*are 21 maven-2 basic-authentication artifactory

我有一个Artifactory仓库,它位于基本身份验证之后.如何配置settings.xml以允许访问?

<mirrors>
    <mirror>
        <id>artifactory</id>
        <mirrorOf>*</mirrorOf>
        <url>https://myserver.example.com/artifactory/repo</url>
        <name>Artifactory</name>
    </mirror>
</mirrors>
<servers>
    <!--
        This server configuration gives your personal username/password for
        artifactory. Note that the server id must match that given in the
        mirrors section.
    -->
    <server>
        <id>Artifactory</id>
        <username>someArtifactoryUser</username>
        <password>someArtifactoryPassword</password>
    </server>
Run Code Online (Sandbox Code Playgroud)

因此,server tag是artifactory用户的用户凭据,但我还需要提供另一个用户/密码来完成basic-auth.我会把它放在哪里?!?

Ric*_*ler 17

用户名和密码就像您拥有的那样进入服务器设置.我觉得你的问题是,你已经被它的名字(指定的服务器 rtifactory),而不是它的ID( rtifactory).

我建议您将服务器设置放在用户设置中而不是全局设置中.您也可以在Maven 2.1.0+中加密密码,有关详细信息,请参阅迷你指南.

更新:您使用的是什么版本的Artifactory?有一个讨论和相应的问题,基本认证失败.这显然已在2.0.7和2.1.0中修复.

从讨论开始,似乎解决方法是通过命令行传递属性,例如

-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Dproxy.username=... -Dhttp.password=... 
Run Code Online (Sandbox Code Playgroud)

更新:要让您的Maven安装通过防火墙连接,您需要配置settings.xml的代理部分,请参阅此问题以获取有关此操作的一些指示.


Update2:您可以在服务器设置中设置其他属性,有关背景信息,请参阅此博客.我没有机会测试这个,但是从博客和相关的http旅行车javadoc看来,你可以在服务器设置上设置authenticationInfo,如下所示:

<server>  
  <id>Artifactory</id>
  <username>someArtifactoryUser</username>
  <password>someArtifactoryPassword</password>
  <configuration>  
    <authenticationInfo>
      <userName>auth-user</userName>
      <password>auth-pass</password>
    </authenticationInfo>
  </configuration>  
</server> 
Run Code Online (Sandbox Code Playgroud)


Esk*_*ola 9

我能够使用以下配置来启用 HTTP 基本身份验证 - 通过手动编写必要的 HTTP 标头在我的情况下,我使用它来访问Go 服务器上的构建工件,作为穷人的临时存储库。

    <server>
        <id>go</id>
        <configuration>
            <httpHeaders>
                <property>
                    <name>Authorization</name>
                    <!-- Base64-encoded "guest:guest" -->
                    <value>Basic Z3Vlc3Q6Z3Vlc3Q=</value>
                </property>
            </httpHeaders>
        </configuration>
    </server>
Run Code Online (Sandbox Code Playgroud)