我的问题是关于 mongo shell --authenticationDatabase 选项。
我对此感到困惑,因为我认为我创建用户的数据库是管理数据库,因为这是在阅读本文档后实际定义用户的地方: https: //docs.mongodb.com/manual/core /安全用户/#用户管理界面
我明白我错了;身份验证数据库是用户拥有角色的数据库。我的问题是选项“--authenticationDatabase”的目的是什么?请参阅下面我的场景。
下面的命令将连接到 myapp 数据库并针对 myapp 数据库进行身份验证
mongo -u "bob" -p "bobspassword" --authenticationDatabase "myapp" myapp
Run Code Online (Sandbox Code Playgroud)
默认情况下,以下命令将连接到 myapp 数据库并针对 myapp 数据库进行身份验证。这似乎使上面的命令变得过时。
mongo -u "bob" -p "bobspassword" --authenticationDatabase "myapp" myapp
Run Code Online (Sandbox Code Playgroud)
下面的命令将针对 myapp 数据库进行身份验证,但不会连接到它。为什么?仅仅是为了测试凭据吗?
mongo -u "bob" -p "bobspassword" --authenticationDatabase "myapp"
Run Code Online (Sandbox Code Playgroud)
该命令会告诉我“错误:身份验证失败。” 所以我仍然想知道为什么我需要前面的命令来找出我的凭据无效。
mongo -u "bob" -p "bobspassword" myapp
Run Code Online (Sandbox Code Playgroud)
最后,是否存在一种情况,我需要对一个数据库进行身份验证并连接到另一个数据库,如下面的命令?我只能连接到已定义角色的数据库,那么为什么我不针对我尝试连接的数据库进行身份验证呢?
mongo -u "bob" -p "bobspassword" --authenticationDatabase "myapp" myotherapp
Run Code Online (Sandbox Code Playgroud)
感谢您的见解!
阅读本 API 指南。我的 Artifactory 版本是 4.12.2。 https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-ItemProperties
它说要像这样部署工件。
curl -u myUser:myP455w0rd! -X PUT "http://localhost:8081/artifactory/my-repository/my/new/artifact/directory/file.txt" -T Desktop/myNewFile.txt
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我也想在上传的同时向 file.txt 添加属性。我确实看到了一个单独的 API 来设置属性。
PUT /api/storage/libs-release-local/ch/qos/logback/logback-classic/0.9.9?properties=os=win,linux;qa=done&recursive=1
Run Code Online (Sandbox Code Playgroud)
那个有效。我想也许这样做会奏效。
curl -u myUser:myP455w0rd! -X PUT "http://localhost:8081/artifactory/my-repository/my/new/artifact/directory/file.txt?properties=os=win,linux;qa=done&recursive=1" -T Desktop/myNewFile.txt
Run Code Online (Sandbox Code Playgroud)
它没有用。是否可以上传工件并同时设置属性,还是必须是两个不同的 API 调用?
我确实使用 jfrog cli,但我需要一个 API 解决方案。
This is what my setup looks like:
JFrog CLI 1.26.2
I have a local directory with the following items:
My spec looks like so this:
{
"files": [
{
"pattern": "myartifact/*",
"regexp": "false",
"target": "testrepo-release/testbuilds/",
"recursive": "true",
"flat": "false",
"explode": "false"
}
]
}
Run Code Online (Sandbox Code Playgroud)
Then I run build-add-dependencies:
shell>jfrog rt build-add-dependencies --spec=spec myartifact 1
[Info] Running Build Add Dependencies command...
[Info] Adding dependency: myartifact/1.0.0/myartifact-1.0.0-1.txt
{
"status": "success",
"totals": {
"success": 1,
"failure": 0
}
} …
Run Code Online (Sandbox Code Playgroud)