本篇文章給大家分享的是有關(guān)MongoDB中怎么實現(xiàn)用戶管理,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供瑞麗網(wǎng)站建設(shè)、瑞麗做網(wǎng)站、瑞麗網(wǎng)站設(shè)計、瑞麗網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、瑞麗企業(yè)網(wǎng)站模板建站服務(wù),10余年瑞麗做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
● 條件一:服務(wù)器啟動的時候打開授權(quán)認(rèn)證。
● 條件二:需要配置用戶名和密碼。
但是需要明確的是,如果要想配置用戶名和密碼,一定是針對一個數(shù)據(jù)庫的,例如現(xiàn)有要創(chuàng)建的是stone數(shù)據(jù)庫用戶,那么就必須切換到stone數(shù)據(jù)庫上。
范例:執(zhí)行用戶的創(chuàng)建
任何用戶都必須具備一個自己的操作角色:read、readWrite
> use admin
switched to db admin
> db.createUser({
... "user":"root",
... "pwd":"root",
... "roles":[{"role":"root","db":"admin"}]
... })
Successfully added user: {
"user" : "root",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
> use hr
switched to db hr
> use hr
switched to db hr
> db.createUser({
... "user":"stone",
... "pwd":"stone",
... "roles":[{"role":"readWrite","db":"hr"}]
... })
Successfully added user: {
"user" : "stone",
"roles" : [
{
"role" : "readWrite",
"db" : "hr"
}
]
}
那么現(xiàn)在就表示成功的創(chuàng)建了stone用戶。那么如果要想讓次用戶名起作用,則必須以授權(quán)的方式打開MongoDB服務(wù)。修改MongoDB的參數(shù)文件。
范例:修改參數(shù)文件,增加授權(quán)啟動
[root@D2-LZY245 ~]# vim /usr/local/mongodb/mongodb.conf
dbpath=/usr/local/mongodb/db
logpath=/usr/local/mongodb/log/mongodb.log
logappend=true
auth=true
port=27017
fork=true
重啟數(shù)據(jù)庫:
> use admin
switched to db admin
> db.shutdownServer();
[root@D2-LZY245 ~]# mongod -f /usr/local/mongodb/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 25987
child process started successfully, parent exiting
[root@D2-LZY245 ~]# mongo
MongoDB shell version v3.4.7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.7
> use stone
switched to db stone
> db.emp.find();
Error: error: {
"ok" : 0,
"errmsg" : "not authorized on stone to execute command { find: \"emp\", filter: {} }",
"code" : 13,
"codeName" : "Unauthorized"
}
此時增加了一個驗證的啟動模式,發(fā)現(xiàn)依然可以在不輸入用戶名和密碼的前提下進(jìn)行登錄,并且也可以直接進(jìn)行數(shù)據(jù)庫的切換操作。但是在使用數(shù)據(jù)庫集合的時候出現(xiàn)了錯誤提示。
范例:登錄數(shù)據(jù)庫的時候使用用戶名和密碼
[root@D2-LZY245 ~]# mongo -u "stone" -p "stone" --authenticationDatabase "hr"
MongoDB shell version v3.4.7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.7
或者:
[root@D2-LZY245 ~]# mongo
MongoDB shell version v3.4.7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.7
> use hr
switched to db hr
> db.auth("stone","stone")
1
此時就表示成功的實現(xiàn)了用戶的登錄操作。
范例:修改密碼
[root@D2-LZY245 ~]# mongo -u root -p 'root' --authenticationDatabase 'admin'
> db.changeUserPassword("stone","stone")
范例:查看用戶及角色
> use admin
switched to db admin
> db.system.users.find();
{ "_id" : "test.stone", "user" : "stone", "db" : "test", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "boSLJ2acqh503AW0MZO7yA==", "storedKey" : "Y7zaryoqOiedeKsVs61SrAMAK8c=", "serverKey" : "+wa0fO2hwNrLRIuVmtJMvR1AJv0=" } }, "roles" : [ { "role" : "readWrite", "db" : "hr" } ] }
{ "_id" : "admin.root", "user" : "root", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "NmiMDfzuCnkO1CRKrVUV9A==", "storedKey" : "rD6NaqsfON8h0YMNv6idPKUpac0=", "serverKey" : "9MXDynhFSNmHEkMIMfxnSKdQPio=" } }, "roles" : [ { "role" : "root", "db" : "admin" } ] }
{ "_id" : "hr.stone", "user" : "stone", "db" : "hr", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "69NLL2oWTg0OehrBwytbsw==", "storedKey" : "LRmPZjHZorxhfWA+RS6SgzLbev4=", "serverKey" : "59xkCl7qKK+HrKrlK5QMdGx94U8=" } }, "roles" : [ { "role" : "readWrite", "db" : "hr" } ] }
以上就是MongoDB中怎么實現(xiàn)用戶管理,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享名稱:MongoDB中怎么實現(xiàn)用戶管理
網(wǎng)站URL:http://chinadenli.net/article48/jiijhp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計公司、外貿(mào)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)