首先我得删除 之前建的服务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