MongoDB权限初始化过程
db.createUser({'user':'boss', 'pwd':'boss', 'roles':[{'role':'userAdminAnyDatabase', 'db':'admin'}]}) db.createUser({'user':'lison','pwd':'lison','roles':[{'role':'readWrite','db':lison'}]})
Tips: 服务器启动需要加上auth参数连接服务器才需要验证
如:./mongod -f /soft/mongodb/conf/mgdb.conf --auth 切换到数据库上,才能给当前数据库创建用户;
-------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------------
1.通过start-mongodb-auth.sh启动mongodb
2.数据库增加安全模式后,初始化一个“userAdminAnyDatabase”非常重要
通过客户端连接,使用admin数据库, 执行如下脚本:
db.createUser({'user':'boss', 'pwd':'boss', 'roles':[{'role':'userAdminAnyDatabase', 'db':'admin'}]})
3.使用刚创建成功的用户登录:注:进去之后使用auth登录
db.auth("boss","boss");
4.切换到lison数据库(use lison),创建读写权限用户:
db.createUser({'user':'lison','pwd':'lison','roles':[{'role':'readWrite','db':'lison'}]})
5.使用读写权限用户lison登录,db.auth("lison","lison"),
登录后测试; ps:也可以以非auth模式启动,然后创建用户后,用auth模式启动
没有权限操作admin的库
客户端链接方法:
客户端授权
Java客户端安全认证 MongoCredential类包括每个受支持的身份验证机制的静态工厂方法。
public static MongoCredential createCredential(final String userName, final String database, final char[] password)
spring客户端安全认证 MongoCredential类包括每个受支持的身份验证机制的静态工厂方法。
<mongo:mongo-client host="192.168.1.142" port="27022" credentials="cll:[email protected]"> </mongo:mongo-client>