adicionando quebras de autenticação mongodb conectando via nodejs

2

Eu precisava ter acesso externo ao meu banco de dados mongodb, então eu removi o bind_ip do arquivo mongod.conf, e liguei auth. Eu então adicionei um usuário root que pode acessar tudo, e tentei conectar ao banco de dados com robomongo - funciona perfeitamente. Então eu adicionei outro usuário para o meu aplicativo nodejs. Eu tentei com os papéis dbAdmin, readWrite, read .... e não importa o que eu configurei, ele nunca terminará de se conectar ao DB no nodejs.

O usuário é assim:

db.getUser('node');
{
        "_id" : "admin.node",
        "user" : "node",
        "db" : "admin",
        "roles" : [
                {
                        "role" : "read",
                        "db" : "mydb"
                },
                {
                        "role" : "userAdmin",
                        "db" : "mydb"
                },
                {
                        "role" : "dbAdmin",
                        "db" : "mydb"
                },
                {
                        "role" : "readWrite",
                        "db" : "mydb"
                },
                {
                        "role" : "userAdminAnyDatabase",
                        "db" : "mydb"
                }
        ]
}

Não consigo encontrar em nenhum lugar quais devem ser os papéis adequados.

UPDATE: Eu queria explicar melhor o que está acontecendo quando ele tenta se conectar. Ele autoriza o usuário muito bem, porque se eu mudar o nome de usuário / passar para algo errado, isso causará um erro de autenticação com falha. Eu também tentei adicionar um ouvinte de evento para quando a conexão está "conectada" e, em seguida, executar o restante do script ... e esse evento nunca é acionado. Apenas parece estar pendurado.

ATUALIZAÇÃO: Aqui está o código que estou tentando usar para conectar ao mongodb via mongoose:

mongoose.connect('mongodb://username:password@localhost:27017/database', { auth: { authdb: 'admin' } });
    
por codephobia 15.12.2014 / 22:25

0 respostas

Tags