日期:2014-05-16  浏览次数:20437 次

mongo简介——实现授权登录

mongo默认是非授权使用的,也就是访问数据库时不需要提供用户名和密码。

不过我们一般都是要授权访问的。

我们需要做如下操作。

?

启动mongod之后,执行以下命令

use admin;//这是内建管理员数据库
db.addUser('root','root');//在admin数据库中添加用户名和密码都是root的一个用户,root作为超级管理员用户
show collections;//运行这个命令可以看到system.indexes和system.users两个集合
use?WORKING_COLLECTION//进入工作数据库
db.addUser('example','example');
show collections;//运行这个命令又会看到system.indexes和system.users两个集合
//这样针对整个mongod的超级管理员权限和针对一个数据库的管理员权限就完成了
//如果要使用授权访问工作数据库,需要在使用--auth参数启动mongod或mongodb服务,再执行以下命令
use WORKING_COLLECTION
db.auth('example','example')

从上面的命令就能看出来,mongo是针对每个数据库单独授权。如果要在访问多个数据库时只登录一次,可以使用admin数据库下的账号登录,在使用哪个数据库时就切到哪个数据库。