您的位置:首页 > 数据库 > Mongodb

spring xml配置mongodb远程用户名密码认证

2016-11-06 21:32 453 查看
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:aPassword@someDB"/>

    <mongo:db-factory id="mongoDbFactory"

                      dbname="someDB"

                      mongo-ref="mongoClient"/>

    <mongo:template id="mongoTemplate" db-factory-ref="mongoDbFactory" write-concern="NORMAL"/>

   credentials即为认证信息,格式为"用户名:密码@数据库名"

亲测有效
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息