Подтвердить что ты не робот

Доступ к рефайту Artifactory/Maven, который требует базового auth

У меня есть репетитор 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>

Так что тег сервера - это учетные данные пользователя для пользователя artifactory, но мне также нужно предоставить другой пользователь/пароль, чтобы пройти через basic-auth. Где бы я это сказал?!?

4b9b3361

Ответ 1

Имя пользователя и пароль входят в настройки сервера, как они есть у вас. Я думаю, ваша проблема в том, что вы указали сервер по имени ( A rtifactory), а не его id ( a rtifactory).

Я бы порекомендовал вам поместить настройки сервера в пользовательские настройки, а не в глобальные настройки. Вы также можете зашифровать пароль в Maven 2.1.0+, подробнее см. мини-руководство.

Обновление: какую версию Artifactory вы используете? Существует обсуждение и соответствующее issue, что basic-auth не выполняется. Это, по-видимому, было зафиксировано в 2.0.7 и 2.1.0.

Из обсуждения, кажется, что обходной путь заключается в передаче свойств через командную строку, например.

-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 -Dproxy.username=... -Dhttp.password=... 

Обновление. Чтобы ваша установка Maven подключалась через брандмауэр, вам нужно настроить раздел прокси settings.xml, см. этот question для некоторые указатели на это.


Update2: Есть дополнительные свойства, которые вы можете установить в настройках сервера, см. этот блог для некоторого фона. У меня не было возможности проверить это, но из блога и связанного http wagon 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> 

Ответ 2

Я смог использовать следующую конфигурацию, чтобы включить базовую аутентификацию 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>

Ответ 3

Совет для решения проблемы с помощью текстового пароля:

  • Доступ и вход в Artifactory.
  • Как только вы войдете в систему, нажмите на свое имя пользователя в правом верхнем углу экрана.
  • Поместите свой пароль, затем клик в em Unlockbutton, включив зашифрованный пароль.
  • Скопируйте тег, который будет отображаться на нижней части экрана, и вставьте его в файл settings.xml. Если вы предпочитаете просто скопировать пароль, убедитесь, что он точно равен тегу, указанному ниже, включая "\" в начале пароля.
  • Не забудьте настроить тег с идентификатором вашего сервера, определенным в теге, в вашем POM.xml
  • Нажмите кнопку "Обновить" и готов! Убедитесь, что все будет хорошо при следующей публикации проекта.