我在Artifactory实例中禁用了“Anyonmous Access”,并通过Artifactory Web界面从“匿名”用户中删除了所有权限。然而,我发现我仍然可以通过Gradle匿名从我的libs-release
存储库中提取文件!?这是我的项目级build.gradle
文件:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.1.0'
}
}
allprojects {
repositories {
jcenter()
maven {
// deliberately omitting the credentials { ... } block for the sake of experiment
url 'https://artifactory.mycompany.com/artifactory/libs-release'
}
}
}
有人可以建议为什么尽管没有credentials { ... }
阻止,Gradle拉动可能会起作用吗?
注意:如果我在未登录Artifactory时在网络浏览器中导航到https://artifactory.mycompany.com/artifactory/libs-release
,它会要求我登录以便按预期访问存储库。< / p>
答案 0 :(得分:2)
发现了这个问题。我之前使用credentials { ... }
块运行了构建,这是缓存的。因此,尽管注释了--refresh-dependencies
块,Gradle仍在使用上一版本中的Artifactory凭据。在使用{{1}}选项运行Gradle构建时,我收到了我期待的401(未授权)错误。