Я использую MongoDB_4.0.0 в качестве службы
Я включил защиту, используя файл
C:\MongoDB_4.0.0\bin\mongod.cfg
В моем приложении J2EE я получаю:
org.springframework.data.mongodb.CannotGetMongoDbConnectionException:
Failed to authenticate to database [xeroxDB], username = [xeroxUser], password = [p*******3]
Я создал пользователя на xeroxDB и admin
но не работает ...
Вот как я создал пользователя:
------- what dbs we have?
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
xeroxDB 0.004GB
------- switch to user admin
> use admin
switched to db admin
------- create the user
db.createUser(
{
user: "xeroxUser",
pwd: "pass123",
roles: [
{role : "readWrite",db: "xeroxDB"},
{role : "userAdmin",db: "xeroxDB"},
{role : "dbOwner",db : "xeroxDB"}
]
}
)
------- lets see the users
> show users
{
"_id" : "admin.xeroxUser",
"user" : "xeroxUser",
"db" : "admin",
"roles" : [
{
"role" : "readWrite",
"db" : "xeroxDB"
},
{
"role" : "userAdmin",
"db" : "xeroxDB"
},
{
"role" : "dbOwner",
"db" : "xeroxDB"
}
],
"mechanisms" : [
"SCRAM-SHA-1",
"SCRAM-SHA-256"
]
}
------- enabled the security at
C:\MongoDB_4.0.0\bin\mongod.cfg
security:
authorization: enabled
------- trying to login
C:\MongoDB_4.0.0\bin>mongo.exe --username xeroxUser --password pass123
MongoDB shell version v4.0.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 4.0.0
2018-07-06T00:30:39.683+0300 E QUERY [js] Error: Authentication failed. :
DB.prototype._authOrThrow@src/mongo/shell/db.js:1679:20
@(auth):6:1
@(auth):1:2
exception: login failed
UPDATE
Когда я добавляю имя БД (xeroxDB) как часть параметров соединения
Я могу подключиться с консоли, но не из приложения J2EE
mongo.exe xeroxDB --u xeroxUser --p pass123
И соответствующий раздел ПОМ
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>2.0.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>2.12.4</version>
</dependency>