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