现在的位置: 首页 > 综合 > 正文

MongoDB 权限验证(KEY: Mongo; MongoDB; 安全验证; 权限)

2013年08月07日 ⁄ 综合 ⁄ 共 1012字 ⁄ 字号 评论关闭

 

首先我得删除之前建的服务TAT

sc delete "MongoDB"

重新创建服务加上--auth参数

D:\MongoDB>mongod --dbpath D:\MongoDB\Data --logpath D:\MongoDB\Log\MongoDB.log --logappend --serviceName MongoDB --auth --install
all output going to: D:\MongoDB\Log\MongoDB.log
Creating service MongoDB.
Service creation successful.
Service can be started from the command line via 'net start "MongoDB"'.

这时再用mongo启动就会提示没有权限了

> show users
Wed Aug 17 09:53:30 uncaught exception: error: {
        "$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1",
        "code" : 10057
}

可以用-u -p参数登陆 -> mongo [库名] -u [用户名] -p

D:\MongoDB>mongo admin -u admin -p
MongoDB shell version: 1.8.2
Enter password:
connecting to: admin

当然了。再此之前不要忘记先创建用户,在admin库下的用户是全局的

use [database]

db.addUser('admin','pwd')

show users

如果需要创建一个只读的用户:

db.addUser('rousr','pwd', true)

 

下面是再c#中的安全验证:

链接字符串格式:mongodb://[username:password@]hostname[:port][/[database][?options]]

 只要将之前例子的链接字符串改为 "mongodb://uname:pwd@localhost" 就可以了

。。。我之前设的密码中含有@,所以。。。TAT

修改密码和创建用户命令是一样的

db.addUser('admin', 'newpwd')

 

其他常用命令请点击 -》
常用命令

 

http://hi.baidu.com/pappercut/blog/item/4fc5281fd2873ed2a7866997.html

抱歉!评论已关闭.