我是MEAN STACK网络应用程序的新手。我无法在mongodb中进行适当的身份验证。 我希望在没有用户ID和密码的情况下阻止mongodb数据库访问。
依赖性
“mongodb”=> “版本”:“2.4.9”,
“OS”=> “Ubuntu 14.04 lts 32bit”,
答案 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
连接数据库