我想设置依赖关系的权限,maven没有下载相关的依赖关系

时间:2016-05-30 18:47:31

标签: maven nexus

表示abc用户

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.test.abc</groupId>
  <artifactId>application</artifactId>
  <version>1.0</version>
  <packaging>jar</packaging>
  <properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
   <dependency>
     <groupId>junit</groupId>
     <artifactId>junit</artifactId>
     <version>3.8.1</version>
   </dependency>
  </dependencies>
  <distributionManagement>
   <repository>
    <id>nexus</id>
    <name>Releases</name>
    <url>http://localhost:8081/nexus/content/repositories/releases/</url>
   </repository>
 </distributionManagement>

对于cfg用户:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.test.efg</groupId>
  <artifactId>application</artifactId>
  <version>2.0</version>
  <packaging>jar</packaging>
  <properties>
   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
  <dependencies>
   <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>3.8.1</version>
   </dependency>
  </dependencies>
  <distributionManagement>
   <repository>
    <id>nexus</id>
    <name>Releases</name>
    <url>http://localhost:8081/nexus/content/repositories/releases/</url>
   </repository>
 </distributionManagement>

我在我的nexus中部署了这两个罐子,现在我的问题是abc用户无法下载efg工件,并且efg用户无法下载abc工件。有没有办法解决这个问题,请帮助我。

1 个答案:

答案 0 :(得分:0)

使用Nexus Repository 2.x,您可以使用repository targets和名为repository target privileges的关联安全配置来实现这一目标。

一步一步:

  • 使用正确的regexp为所需路径配置存储库目标(基于groupId)
  • 使用创建,读取,更新和删除创建存储库目标权限
  • 创建角色
  • 将所需的存储库目标权限添加到角色
  • 为用户分配角色

此外,您可能必须禁用匿名读取访问,因为这是默认设置。

它适用于OSS和Pro。您需要确保禁用匿名读取,然后为任何应允许的内容设置访问权限。根据您的需要进行设置可能相当复杂。另外请记住,用户界面在浏览时仍然会显示所有工件。下载(= read)将无法按预期工作。

如果您仍无法使其正常工作,请通过mailing list or live chat.

与我们联系