Heim  >  Artikel  >  Datenbank  >  mongodb 修改用户密码 2种方法

mongodb 修改用户密码 2种方法

WBOY
WBOYOriginal
2016-06-07 16:32:511340Durchsuche

mongodb的用户信息是存放在system.users表中的,修改密码不能直接更新表数据,这样的话,存到表里的密码是明文的,这就不对了。 1,错误做法,直接更新表 db.system.users.update({"_id" : ObjectId("529e67553992b24438d5e315")},{"user":"tank2","readOnly"

mongodb的用户信息是存放在system.users表中的,修改密码不能直接更新表数据,这样的话,存到表里的密码是明文的,这就不对了。

1,错误做法,直接更新表

> db.system.users.update({"_id" : ObjectId("529e67553992b24438d5e315")},{"user":"tank2","readOnly" : false,"pwd":"123"})
> db.system.users.find();
{ "_id" : ObjectId("529e5f8474b4c660718a70f3"), "user" : "tank1", "readOnly" : false, "pwd" : "35dd47abff098f5b4f0b567db8edeac5" }
{ "_id" : ObjectId("529e67553992b24438d5e315"), "user" : "tank2", "readOnly" : false, "pwd" : "123" }  //这样就不对了

2,正确做法,利用db.addUser

> db.addUser('tank2','111')
{
?? ?"_id" : ObjectId("529e6f1c8d95afd190add450"),
?? ?"user" : "tank2",
?? ?"readOnly" : false,
?? ?"pwd" : "6b4334d2c97c526e6a11b2f9ce1996e0"
}

有人会问,这个不是添加用户的方法吗。不错这是添加用户的方法,但是如果用户名相同,密码不同的话,就会更新密码。

3,正确做法,利用db.changeUserPassword

> db.changeUserPassword('tank2','test');
mongodb 修改用户密码 2种方法 mongodb的用户信息是存放在system.users表中的,修改密码不能直接更新表数据,这样的话,存到表里的密码是明文的,这就不对了。 1,错误做法,直接更新表 > db.system.users.update({"_id" : ObjectId("529e67553992b24438d5e315")},{"user":"tank2","readOnly" : false,"pwd":"123"}) > db.system.users.find(); { "_id" : ObjectId("529e5f8474b4c660718a70f3"), "user" : "tank1", "readOnly" : false, "pwd" : "35dd47abff098f5b4f0b567db8edeac5" } { "_id" : ObjectId("529e67553992b24438d5e315"), "user" : "tank2", "readOnly" : false, "pwd" : "123" } //这样就不对了 2,正确做法,利用db.addUser > db.addUser('tank2','111') { ?? ?"_id" : ObjectId("529e6f1c8d95afd190add450"), ?? ?"user" : "tank2", ?? ?"readOnly" : false, ?? ?"pwd" : "6b4334d2c97c526e6a11b2f9ce1996e0" } 有人会问,这个不是添加用户的方法吗。不错这是添加用户的方法,但是如果用户名相同,密码不同的话,就会更新密码。 3,正确做法,利用db.changeUserPassword > db.changeUserPassword('tank2','test');mongodb 修改用户密码 2种方法
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn