当前位置: 首页 > 知识库问答 >
问题:

MongoDB Compass社区:数据库可见,但其集合在身份验证后不会显示

汲利
2023-03-14

我在mongoshell中使用以下命令创建了一个默认管理员用户:

use admin
db.createUser(
  {
    user: "root",
    pwd: "root",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

然后,我使用shell和我的凭证进行身份验证,如下所示:mongo--port 27017-u“root”-p“root”--authenticationDatabase“admin”

在shell中,我可以通过以下方式查看用户版本集合:

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
test    0.000GB
> use admin
switched to db admin
> show tables
system.users
system.version
>

现在管理员数据库显示为空?

如何像从shell一样从图形界面访问users集合和其他集合?

共有2个答案

慕容高卓
2023-03-14

简而言之:在角色中使用“root”而不是“userAdminAnyDatabase”,然后重试。

如果在“C:\Program Files\MongoDB\Server\4.4\bin\mongod.cfg”中设置了use,则此配置

security: 
   authorization: enabled

您需要在行首插入#对这两行进行注释。

然后重新启动“MongoDB服务器(MongoDB)”的服务。

打开Cmd逐行输入这些命令

mongo
use admin
db.grantRolesToUser('admin', [{ role: 'root', db: 'admin' }])

然后在mongod.cfg中取消注释安全性和授权,重新启动服务MongoDB服务器(MongoDB)。

您可以在这个答案中看到如何创建或更新用户角色感谢Dan Dascalescu。https://stackoverflow.com/a/29472184/4418749

臧威
2023-03-14

无法查看用户集合和其他集合的原因是userAdminAnyDatabase内置角色。默认情况下,它不需要必要的权限来读取这些集合。根据您的需要尝试root或dbadmin数据库。

干杯,

资源:https://docs.mongodb.com/manual/reference/built-in-roles/

 类似资料:
  • 继续我先前的问题。我正在研究CAS 5,以便根据需要进行修改。在CAS教程的帮助下,我现在已经完成了自定义身份验证。现在,我向pom添加了以下依赖项。xml,通过以下链接连接到数据库。 并在应用程序中添加了数据库身份验证属性。属性 但这不起作用意味着 类型org.apereo.cas.configuration.model.support.jdbc.QueryJdbcAuthentiationPr

  • 我正在尝试制作一个适配器,它将显示给listview实时数据库内容。 带适配器返回null得身份验证: 类: 请求布局:

  • 我目前正在使用FirebaseAuth和web小部件库firebaseui web开发基于VueJS的登录流原型。 成功认证后(无论是< code>password还是< code>google provider ),小部件加载栏会不断重复,firebaseui-web不会触发其< code > signinseccesswithauthresult 回调。但是对< code > identity

  • 我已经开始开发一个由Google的Firebase服务提供支持的应用程序。我很好奇数据传输在Auth和数据库服务中是否安全。如果没有,我是否可以阅读任何材料来源以实现加密? 非常感谢。

  • 在android studio 3.1.3中,用于链接firebase身份验证的“implementation'com.google.firebase:firebase-auth:11.6.0'”和用于链接firebase数据库的“implementation'com.google.firebase:firebase-database:11.8.0'”是app level Gradle中提供的默认

  • 尝试在Tomcat 7(windows Server 2012)上归档集成的windows身份验证,以便Intranet用户在访问我的web应用程序时不需要输入他们的凭据。遵循tomcat手册:https://tomcat.apache.org/tomcat-7.0-doc/windows-auth-howto.html#Built-in\u Tomcat\u支持 在运行tomcat的计算机上。检