web-dev-qa-db-ja.com

基本認証を必要とするArtifactory / Mavenリポジトリへのアクセス

基本認証の背後にある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>

したがって、サーバータグはアーティファクトユーザーのユーザー資格情報ですが、基本認証を通過するために別のユーザー/パスワードも提供する必要があります。どこに置けばいいの?!?

21
harschware

ユーザー名とパスワードは、サーバー設定にあります。あなたの問題は、サーバーを名前([〜#〜] a [〜#〜]rtifactory)で指定したことだと思います。そのID(artifactory)。

サーバー設定は、グローバル設定ではなく、ユーザー設定に入れることをお勧めします。 Maven 2.1.0+でパスワードを暗号化することもできます。詳細については、 ミニガイド を参照してください。

更新:どのバージョンのArtifactoryを使用していますか? ディスカッション および対応する 問題 があり、基本認証は失敗します。これは明らかに2.0.7と2.1.0で修正されています。

議論から、 回避策 はコマンドラインを介してプロパティを渡すことであるように思われます。

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

更新:Mavenインストールをファイアウォール経由で接続できるようにするには、settings.xmlのプロキシセクションを構成する必要があります。これを行うためのいくつかの指針については、これを参照してください 質問


Update2:server設定で設定できる追加のプロパティがあります。背景については、この blog を参照してください。これをテストする機会はありませんでしたが、ブログおよび関連する 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> 
17
Rich Seller

次の構成を使用して、HTTP基本認証を有効にすることができました 必要なHTTPヘッダー を手動で記述します。私の状況では、それを使用して、貧乏人のステージングリポジトリとして Go server のビルドアーティファクトにアクセスしました。

    <server>
        <id>go</id>
        <configuration>
            <httpHeaders>
                <property>
                    <name>Authorization</name>
                    <!-- Base64-encoded "guest:guest" -->
                    <value>Basic Z3Vlc3Q6Z3Vlc3Q=</value>
                </property>
            </httpHeaders>
        </configuration>
    </server>
4
Esko Luontola

クリアテキストのパスワードで問題を解決するためのヒント:

  • Artifactoryにアクセスしてログインします。
  • ログインしたら、画面の右上隅にあるユーザー名をクリックします。
  • パスワードを入力し、em Unlockbuttonにクリークして、暗号化されたパスワードを有効にします。
  • 画面下部に表示されるタグをコピーして、settings.xmlファイルに貼り付けます。パスワードをコピーするだけの場合は、パスワードの先頭にある「\」を含め、以下に示すタグと完全に一致するようにしてください。
  • POM.xmlで、タグに定義されているサーバーのIDでタグを調整することを忘れないでください
  • [更新]ボタンをクリックして準備ができました!次のプロジェクトの公開ですべてがうまくいくかどうかを確認してください。
3
Pmt