spring xml配置mongodb遠端使用者名稱密碼認證
阿新 • • 發佈:2019-01-09
1.對mongodb伺服器的配置
mongodb預設沒有開啟驗證功能,以下為配置步驟:
1) 在開啟驗證之前,需建立一個管理員使用者
$mongo
$db.createUser({user:"root",pwd: "root",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
建立一個管理員使用者root,密碼root,管理員使用者擁有userAdminAnyDatabase角色
2) 開啟mongodb驗證功能
進入mongodb配置檔案進行修改,個人的地址為/etc/mongod.conf
$sudo vim /etc/mongod.conf
去掉"#auth = true"此行開頭的#號,儲存後退出
3) 重啟mongodb服務
$sudo service mongod restart
4) 用建立的管理員使用者登入
$mongo -u root -p root --authenticationDatabase admin
5) 增加需要用spring進行登入的資料庫的使用者名稱、密碼和許可權
$db.createUser({user:"aUser", pwd:"aPassword", roles:[{role:"dbOwner", db:"someDB"}]})
遠端登入mongodb someDB資料庫的使用者名稱為aUser,密碼為aPassword,分配的許可權為dbOwer
至此mongodb本地的認證配置完成.
2.在spring的配置檔案中配置使用者名稱密碼
由於mongodb3.0+伺服器改變了認證策略,因此spring xml檔案需要作出相應調整,以下為xml配置程式碼:
<mongo:mongo-client id="mongoClient" host="127.0.0.1" port="27017" credentials="aUser: [email protected]"/>
<mongo:db-factory id="mongoDbFactory"
dbname="someDB"
mongo-ref="mongoClient"/>
<mongo:template id="mongoTemplate" db-factory-ref="mongoDbFactory" write-concern="NORMAL"/>
credentials即為認證資訊,格式為"使用者名稱:密碼@資料庫名"
親測有效
mongodb預設沒有開啟驗證功能,以下為配置步驟:
1) 在開啟驗證之前,需建立一個管理員使用者
$mongo
$db.createUser({user:"root",pwd: "root",roles:[{role:"userAdminAnyDatabase",db:"admin"}]})
建立一個管理員使用者root,密碼root,管理員使用者擁有userAdminAnyDatabase角色
2) 開啟mongodb驗證功能
進入mongodb配置檔案進行修改,個人的地址為/etc/mongod.conf
$sudo vim /etc/mongod.conf
去掉"#auth = true"此行開頭的#號,儲存後退出
3) 重啟mongodb服務
$sudo service mongod restart
4) 用建立的管理員使用者登入
$mongo -u root -p root --authenticationDatabase admin
5) 增加需要用spring進行登入的資料庫的使用者名稱、密碼和許可權
$db.createUser({user:"aUser", pwd:"aPassword", roles:[{role:"dbOwner", db:"someDB"}]})
遠端登入mongodb someDB資料庫的使用者名稱為aUser,密碼為aPassword,分配的許可權為dbOwer
至此mongodb本地的認證配置完成.
2.在spring的配置檔案中配置使用者名稱密碼
由於mongodb3.0+伺服器改變了認證策略,因此spring xml檔案需要作出相應調整,以下為xml配置程式碼:
<mongo:mongo-client id="mongoClient" host="127.0.0.1" port="27017" credentials="aUser:
<mongo:db-factory id="mongoDbFactory"
dbname="someDB"
mongo-ref="mongoClient"/>
<mongo:template id="mongoTemplate" db-factory-ref="mongoDbFactory" write-concern="NORMAL"/>
credentials即為認證資訊,格式為"使用者名稱:密碼@資料庫名"
親測有效