Maven 身份验证如何工作?

How does maven authentication works?

我愿意创建一个私有 Maven 存储库,其中的访问规则不是基于 groups/patterns,而是完全自定义的规则。我检查了 nexus 和 jfrog,它们都保持简单的 user/group/pattern 方法。并且 (AFAICS),虽然他们提供了自定义的身份验证方式,但他们没有提供用于自定义访问规则的 was。

出于这个原因,我开始反其道而行之:如果我可以使用我的自定义规则创建一个简单的存储库会怎样。但是我在Apache的文档中搜索时,并没有明确说明背面是如何进行认证的。

有谁知道这是如何完成的,也许可以为我指出正确的文档?

身份验证是通过 HTTP 基本身份验证完成的,它基本上连接了用户名和密码,并对其进行了 base64 编码。所以 Maven 和 Apache 确实相互理解。

但是开箱即用的 Apache 授权是基于您猜到的。目录(代表 Maven 的工件组)、用户名和组。因此,除非您愿意编写定制的 Apache 模型,否则您不会有太多收获。也许基于 IP 的访问控制可以单独使用 Apache 比使用 Nexus/JFrog 更好,但我已经很久没有查看身份验证设置了。

在 Artifactory 中,为了实现您提到的目标,您可以为每个用户创建权限目标。这意味着您的所有 Maven 用户都将部署到同一个存储库,但每个用户使用不同的名称 space。例如,'com/{company}/{project}/'(请将公司和项目替换为真实值)

这是使用 'Include Pattern' 在权限目标上完成的 所以假设我的公司名称是 JFrog,我正在开发一个名为 'artifactory' 的项目 我将有一个权限目标以下包括模式 '/com/jfrog/artifactory/**/*'.

您还可以使用脚本创建这些权限目标,该脚本将使用 this REST API.

为您自动执行

这意味着我将只能达到这个名字space。 这有帮助吗?