1
JCZ2MkKb5S8ZX9pq 2019-04-01 01:09:02 +08:00
我自己用的一个库,一开始 admin 的确也有问题,建个 root 就 ok 了,还没试过太细的管理。
|
2
lincanbin 2019-04-01 01:30:57 +08:00 via Android
连接字少了一些 options 吧
|
3
yuikns 2019-04-01 06:50:42 +08:00
没用过 spring 连 mongo。
Authorization failed 常见的问题是数据库的用户对不上。要是你的数据库用户来自 admin, 那么你可以设置一下 authdb. 否则可以先 admin 登录,然后 use new_db; db.createUser({"user":"your_username","pwd":"your_password","roles":["root","dbAdmin","dbOwner"]}); 另外一个需要考虑的是 mechanism。scram-sha-1/mongodb-cr 需要匹配才行。很多 driver 貌似是要手动设置的。 |
4
ohyeahhh OP @yuikns
大概率确实是数据库的用户对不上,但是我还有一个问题想请教一下,如果我针对不同的库使用相同的用户是否可行呢 |
6
yuikns 2019-04-01 22:56:02 +08:00 via iPad
通常情况下,每个数据库定义一组独立的用户是出于安全考虑。但是你也可以在某个数据库下创建一个跨数据库的用户。这个只要定义好 role 字段即可。
我查了下 mongodb 中 Spring 相关的问答 https://stackoverflow.com/questions/46934427/connect-to-multiple-mongo-db-hosts-and-authenticate-using-a-different-database-i 貌似那个字段叫人 source。就是你如果在 admin 中有个可以高权限的用户,那么你可以设置 source 为 admin,user/pass 就是 admin 的那套。但是 /database 用你需要用的那个就行 |
7
ohyeahhh OP @yuikns 对对对,你说的每个点都戳中了要害,今天查看日志的时候也发现了那个 source 好像有问题,在这码字可能一时半会儿说不清,我的 QQ 是 1439581267,如果方便的话麻烦加我一下,我跟您说清楚一点,好好请教一番,谢谢啦;也是刚入 mongo 不久,项目主城刚走,这块儿还不太熟悉
|
8
yuikns 2019-04-02 09:20:41 +08:00
@ohyeahhh 抱歉基本不上 qq。
连接和用户什么,可以试试多看看官方文档。https://docs.mongodb.com/manual/reference/method/js-user-management/ 右侧的 GUI 工具 robomongo 也是极好的。 |