在MongoDB中,配置认证机制需要以下几个步骤:
启用认证:
在mongod.conf
(Linux)或mongod.cfg
(Windows)配置文件中,找到security
部分并设置authorization
为enabled
。例如:
security:
authorization: enabled
这将启用MongoDB的内置角色认证机制。
创建管理员用户:
使用mongo
shell连接到MongoDB实例,然后创建一个具有userAdminAnyDatabase
角色的管理员用户。例如,要在admin
数据库上创建一个名为adminUser
的用户,请执行以下命令:
use admin
db.createUser({
user: "adminUser",
pwd: "your_password",
roles: ["userAdminAnyDatabase"]
})
确保将your_password
替换为一个安全的密码。
重新启动MongoDB服务:
对于Linux系统,使用以下命令:
sudo systemctl restart mongod
对于Windows系统,重新启动MongoDB服务或重新启动计算机。
使用管理员用户登录:
使用新创建的管理员用户登录MongoDB。例如:
mongo -u adminUser -p your_password --authenticationDatabase admin
确保将your_password
替换为实际的密码。
创建其他数据库用户:
现在您可以使用管理员用户登录并创建其他数据库的用户。例如,要在myDatabase
数据库上创建一个名为myUser
的用户,请执行以下命令:
use myDatabase
db.createUser({
user: "myUser",
pwd: "my_password",
roles: ["readWrite", "dbOwner"]
})
确保将my_password
替换为一个安全的密码。
现在,您已经成功设置了MongoDB的认证机制。所有连接到MongoDB实例的用户都需要提供有效的用户名和密码。