mongodb - 无需身份验证即可阻止访问mongodb

时间:2016-03-16 09:44:29

标签: node.js mongodb mongoose

我是MEAN STACK网络应用程序的新手。我无法在mongodb中进行适当的身份验证。 我希望在没有用户ID和密码的情况下阻止mongodb数据库访问。

依赖性
“mongodb”=> “版本”:“2.4.9”,
“OS”=> “Ubuntu 14.04 lts 32bit”,

2 个答案:

答案 0 :(得分:0)

简单明了:你不能可靠。这有点像说

  

我希望我的房子安全,但我不想使用锁和钥匙。

为了保持这个例子,你可能雇用一个门卫(防火墙),但他无法可靠地告诉你除了那些看起来像你的整形手术的人(IP欺骗,被劫持)计算机,...)。

这甚至不包括授权。

想象一下,所有公寓都没有门锁的公寓楼。现在,我们的门卫可以让您和居住在该建筑物中的所有其他人进入。但是,由于门卫必须到达它的位置,所以能够正确进入建筑物的每个人都能够进入任何公寓并偷走东西。或者在您的公寓里放下法医证据,将您的罪行定为犯罪,而您之后不会直接告诉警方。

我认为你了解情况:如果您的MongoDB实例可公开访问,请添加身份验证和授权。即使您认为它无法公开访问,最好确保。

答案 1 :(得分:-1)

身份验证在mongo数据库中完成。在mongo控制台中尝试此操作以在数据库中创建用户

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

现在使用像这样的数据库网址

mongodb://user:password@host:port/database_name

连接数据库