2012-05-16 107 views
0

我已经安装了sonatype nexus作为我的maven回购。联系安装使用Active Directory来验证用户,并且匿名登录已关闭。基础架构 - Maven + Nexus

每个将工件上传到我的仓库的用户都必须使用唯一的用户名进行识别,从而进行AD集成。

使用这种结构的常规方法是在POM.xml分配Managemente标签,将设定神器送到承上启下

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

在本地仓库设置(~/.m2/settings.xml)添加用户名/密码组合来登录到关系

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

它的工作对我来说很棒,但我想要做到的,是莫名其妙地做承上启下的身份验证,而不必把用户密码在本地回购。可能吗?

回答

0

你想达到什么样的效果:不是以纯文本形式存储密码,或者每次运行maven deploy命令时都必须传递密码。

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

或者你可以尝试在命令行中传递密码像下面,但我还没有尝试过:

mnv -Dpassword=deployment123 deploy 
+0

谢谢友善的家伙......我的目标是'现在即时通讯使用加密的密码不存储密码为纯文本'。 –

+0

在命令行中提供密码存在巨大的安全风险,可以通过'ps'或'htop'轻松发现。 –

+0

同意。它不会从问题中明确我想要的目标是什么 – maximdim

0

的Nexus 2.1由于将在6月份发布,我们已经构建了一项新功能来支持安全认证,而不需要settings.xml中的明文密码。