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 身份登录的自定义快照存储库,我会看到所有工件。
- 如果我浏览以其他用户身份登录的自定义快照存储库,我会看到所有工件。
我期待以 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 - 可以看到这个神器
- 其他用户 - 看不到这个工件
使用此设置,除非您是管理员,否则似乎看不到存储库中没有内容选择器的项目。这对我的用例来说很好。
我正在尝试将 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 身份登录的自定义快照存储库,我会看到所有工件。
- 如果我浏览以其他用户身份登录的自定义快照存储库,我会看到所有工件。
我期待以 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 - 可以看到这个神器
- 其他用户 - 看不到这个工件
使用此设置,除非您是管理员,否则似乎看不到存储库中没有内容选择器的项目。这对我的用例来说很好。