【问题标题】:Infrastructure - Maven + Nexus基础设施 - Maven + Nexus
【发布时间】:2012-05-24 19:24:43
【问题描述】:

我已经安装了一个 sonatype nexus 作为我的 maven repo。 nexus 安装正在使用 Active Directory 对用户进行身份验证,并且匿名登录已关闭。

将工件上传到我的存储库的每个用户都必须使用唯一的用户名进行标识,因此 AD 集成。

使用此结构的常规方法是在POM.xml 中设置 Distribution Managemente 标记,以便将工件发送到 nexus

 <distributionManagement>
    ...
    <repository>
      <id>deploymentRepo</id>
      <name>Internal Releases</name>
      <url>http://nexusserver:8081/nexus/content/repositories/releases</url>
    </repository>
    ...
  </distributionManagement>

在本地 repo 设置 (~/.m2/settings.xml) 中添加用户名/密码组合以登录到 nexus

<server>
  <id>deploymentRepo</id>
  <username>deployment</username>
  <password>deployment123</password>
 </server>

它对我来说很好用,但我想要实现的是以某种方式在 nexus 中进行身份验证,而不必将用户密码放入本地存储库中。有可能吗?

【问题讨论】:

    标签: maven active-directory nexus


    【解决方案1】:

    您要达到什么目的:不将密码存储为纯文本或用户每次运行 maven deploy 命令时都必须传递密码?

    密码可以以加密形式存储,如here所述

    或者您可以尝试在命令行上传递密码,如下所示,但我没有尝试过:

    mnv -Dpassword=deployment123 deploy
    

    【讨论】:

    • 谢谢好心人...我的目标是“不将密码存储为纯文本”,现在我使用加密密码。
    • 在命令行上提供密码存在巨大的安全风险,使用pshtop 很容易发现。
    • 同意。从这个问题中我不清楚期望的目标是什么
    【解决方案2】:

    Nexus 2.1 将于 6 月发布,我们构建了一项新功能来支持安全身份验证,而无需在 settings.xml 中提供明文密码。

    【讨论】:

      猜你喜欢
      • 2011-10-20
      • 2016-04-26
      • 1970-01-01
      • 2023-03-20
      • 2011-06-19
      • 2013-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多