Nexus 3 和内容选择器

Nexus 3 and Content Selectors

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

的内容选择器
coordinate.groupId =^ "net"

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

然后我用内容选择器创建了一个名为 "sea-lion-snapshot-priv" 的权限“ 海狮选择器”,存储库 "custom-snapshots" 和操作 "read,edit,browse"。

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

测试时:

我期待以 Sam 的身份看到这些工件,而不是 anonymous/the 其他用户。

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

@rseddon 的评论是缺少的步骤。本着文档的精神,这里是我在工作时使用的确切设置:

  • 使用 "nx-repository-view-maven2--*-read" 和 "nx-search-read"
  • 创建一个新角色 "limited-anon"
  • 在用户下,转到 "Anonymous"。删除内置角色并添加 "limited-anon"
  • 使用搜索表达式创建内容选择器 "coordinate.groupId =^ "my.package.name"
  • 创建针对此内容选择器、快照存储库和操作的类型 "Repository Content Selector" 的权限 "read,edit,browse"
  • 为版本库创建类似的权限
  • 创建一个具有这两个权限的新角色
  • 将新角色和 "limited-anon" 分配给 Sam(可以看到工件的用户)
  • 仅将 "limited-anon" 分配给其他测试用户

此配置适用于:

  • 匿名用户 - 看不到这个工件
  • Sam - 可以看到这个神器
  • 其他用户 - 看不到这个工件

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