Nexus 3和内容选择器

时间:2018-09-09 23:10:30

标签: nexus nexus3

我正在尝试将Sonatype Nexus 3和内容选择器用于Maven 2存储库。 我创建了一个名为“ custom-snapshots”的Maven 2存储库,并使用查询

创建了一个内容选择器
coordinate.groupId =^ "net"

(我的原始查询更加精确,但是我试图缩小问题的范围。我不认为问题出在内容选择器上,尽管当我单击预览并针对自定义快照运行它时,我确实得到了匹配。)

然后,我使用内容选择器创建了一个名为“ sea-lion-snapshot-priv”的特权 海狮选择器”,存储库“自定义快照”和操作“读取,编辑,浏览”。

接下来,我创建了一个角色为“ sea-lion-role”和“ sea-lion-snapshot-priv”。最后,我创建了一个角色为“ sea-lion-role”和“ nx-anonymous”的用户“ sam”。我没有更改nx-anonynmous的任何权限。

测试时:

  • 如果我在未登录的情况下浏览自定义快照存储库,则会看到所有工件。
  • 如果我浏览以Sam身份登录的自定义快照存储库,则会看到所有工件。
  • 如果我浏览以其他用户身份登录的自定义快照存储库,则会看到所有工件。

我希望看到的工件是Sam,但不是匿名的/其他用户。

关于我可能设置错误或解决问题的技巧的任何想法吗?

1 个答案:

答案 0 :(得分:0)

@rseddon的评论是缺少的步骤。在文档中,这是我在使用时的确切设置:

  • 使用“ nx-repository-view-maven2-*-read”和“ nx-search-read”创建一个新角色“ limited-anon”
  • 在用户下,转到“匿名”。删除内置角色并添加“有限匿名”
  • 使用搜索表达式“ coordinate.groupId = ^“ my.package.name”创建内容选择器
  • 针对该内容选择器,快照存储库和“读取,编辑,浏览”操作创建类型为“存储库内容选择器”的特权
  • 为版本库创建类似的权限
  • 使用这两个特权创建新角色
  • 将新角色和“受限匿名”分配给Sam(可以看到工件的用户)
  • 仅将“受限”分配给其他测试用户

此配置适用于:

  • 匿名用户-无法看到此工件
  • Sam-可以看到此工件
  • 其他用户-无法看到此工件

使用此设置,除非您是管理员,否则看起来看不到没有内容选择器的存储库中的项目。这对我的用例来说很好。