【问题标题】:Being able to overwrite release artifact without permission能够在未经许可的情况下覆盖发布工件
【发布时间】:2021-10-06 12:13:55
【问题描述】:

今天遇到如下情况:

  1. 将具有非快照版本的工件发布到工件 maven 存储库
  2. 当我使用 maven-publish gradle 插件再次发布它时,它会返回 403,这没关系,但是
  3. 当我使用 id("com.jfrog.artifactory") version "4.24.20" gradle 插件将相同的工件发布到相同的仓库时,它会覆盖工件(我可以看到更新的最后修改时间)

用户对该存储库的权限是

  • 阅读
  • 注释
  • 部署/缓存

我是否遗漏了什么,或者它真的不应该这样工作?

【问题讨论】:

  • 您能否通过导航到用户页面并检查其中的权限来检查用户是否有任何其他权限?

标签: maven gradle artifactory


【解决方案1】:

似乎是由于一个已知问题RTFACT-26398 插件使用相同的休息调用。

【讨论】:

    【解决方案2】:

    添加到@sankar-dunga 的答案:

    插件使用校验和部署机制。此功能允许通过跳过 Artifactory 中已存在的上传文件来加速上传。 工件并没有真正被覆盖,而只是它的时间戳发生变化 - 如果没有覆盖/删除权限,您无法更改或删除工件。

    如果您想禁用此功能,您可以将minChecksumDeploySizeKb 设置为 0:

    artifactoryPublish {
        clientConfig.publisher.minChecksumDeploySizeKb = 0 
    }
    

    更多信息:

    1. Issue 341
    2. Documentation
    3. REST API

    【讨论】:

      猜你喜欢
      • 2019-09-22
      • 2011-06-06
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多