下载maven工件时隐藏HTTP密码

arv*_*ved 5 buildr maven

我们有一个受密码保护的Maven存储库.下载http密码时,控制台上会显示:

Downloading: https://arved:passw0rd@maven.arved.at/content/groups/arved/org/apache/xbean/xbean-naming/3.7/xbean-naming-3.7.jar

有可能以某种方式隐藏密码吗?

小智 0

一种方法是给 URI::HTTP 打猴子补丁。以下代码可以改进,但显示了总体思路。

# Patch HTTP.to_s so it does not reveal passwords
module URI
  class HTTP
    def to_s
      url = ''
      if @scheme
        url << @scheme
        url << ':'
      end
      if @host
        url << '//'
      end
      if self.userinfo
        url << @user
        if @password
          url << ':***'
        end
        url << '@'
      end
      if @host
        url << @host
      end
      if @port
        url << ':'
        url << @port.to_s
      end
      url << path_query
      if @fragment
        url << '#'
        url << @fragment
      end
      url
    end
  end
end
Run Code Online (Sandbox Code Playgroud)