gpt4 book ai didi

MongoDB 身份验证数据库用途

转载 作者:行者123 更新时间:2023-12-04 17:56:23 25 4
gpt4 key购买 nike

我的问题是关于 mongo shell --authenticationDatabase 选项。

我对此感到困惑,因为我认为我在其中创建用户的数据库是 admin 数据库,因为在阅读此处的文档后,用户实际上是在此处定义的:https://docs.mongodb.com/manual/core/security-users/#user-management-interface

我明白我错了;身份验证数据库是用户具有角色的数据库。那么我的问题是选项“--authenicationDatabase”的目的是什么?请参阅下面的我的场景。

下面的命令将连接到 myapp 数据库并针对 myapp 数据库进行身份验证

mongo -u "bob" -p "bobspassword" --authenticationDatabase "myapp" myapp

下面的命令将连接到 myapp 数据库,并在默认情况下对 myapp 数据库进行身份验证。这似乎使上面的命令过时了。
mongo -u "bob" -p "bobspassword" --authenticationDatabase "myapp" myapp

下面的命令将针对 myapp 数据库进行身份验证,但不会连接到它。为什么?仅仅是为了测试凭据吗?
mongo -u "bob" -p "bobspassword" --authenticationDatabase "myapp"

此命令会告诉我“错误:身份验证失败。”同样,所以我仍然想知道为什么我需要上一个命令来找出我的凭据无效。
mongo -u "bob" -p "bobspassword" myapp

最后,是否存在我需要对一个数据库进行身份验证并像下面的命令一样连接到另一个数据库的情况?我只能连接到为其定义了角色的数据库,那么为什么不针对我尝试连接的数据库进行身份验证?
mongo -u "bob" -p "bobspassword" --authenticationDatabase "myapp" myotherapp

感谢您的见解!

最佳答案

在 mongo 中,您连接到服务器而不是真正连接到数据库。之后您可以更改数据库。

你的代码:

mongo -u "bob" -p "bobspassword" --authenticationDatabase "myapp"

将连接到 mongod 服务器,它将使用“ test” ' 数据库,如果其他未定义

下一个应该可以工作,因为 mongo 从连接字符串中获取 auth db。它也可能在配置文件中设置不同。
mongo -u "bob" -p "bobspassword" myapp

最后:

Lastly, is there a situation where I need to authenticate against one database and connect to a different one..



关于MongoDB 身份验证数据库用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40244694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com