dockette / adminer

:whale: Tiniest boxed dockerized Adminer (MySQL, PostgreSQL, SQLite, Mongo, Oracle) Dockerfiles
MIT License
85 stars 29 forks source link

Mongo: different login on php5 and php7 #20

Open sinacek opened 4 years ago

sinacek commented 4 years ago

Hi, with image dockette/adminer:full I'm not able connect to Mongo, because it returns Database does not support password..

I haven't allowed login without password.

I tried the same issue on version dockette/adminer:full-php5 and it works. I was not able find out how to fix it :/

Main problem is, that wrong connection doesn't throw exception.

I'm not sure if report it here or on the adminer repo.

f3l1x commented 4 years ago

Well, I've verified it in my image but I think it's not problem in there. Do you have any updates?

sinacek commented 4 years ago

Unfortunately not. It still doesn't work with PHP 7.

f3l1x commented 4 years ago

How about now @sinacek ?

sinacek commented 4 years ago

Still doesn't work. docker run -ti --rm -p 80:80 -e MONGO_AUTH_SOURCE=admin dockette/adminer:full

f3l1x commented 3 years ago

What is MONGO_AUTH_SOURCE? Could you point me to php doc somewhere?

sinacek commented 3 years ago

It's variable for authentication collection in Mongo. see https://github.com/vrana/adminer/pull/358

https://docs.mongodb.com/manual/reference/connection-string/#urioption.authSource

dream-mo commented 3 years ago

image:dockette/adminer:full add env MONGO_AUTH_SOURCE=admin Still not useful. But use image:dockette/adminer:full-php5 is ok

f3l1x commented 3 years ago

It looks like change in php versions. I don't know where is the problem now. :(

dream-mo commented 3 years ago

https://github.com/vrana/adminer/blob/master/adminer/drivers/mongo.inc.php#L622

Is there a bug in the logic of the latest adminer code? It's just my guess. It feels weird anyway

$connection->_link = $connection->connect("mongodb://$server", $options);
if ($password != "") {       
    $options["password"] = "";
    try {
        $connection->connect("mongodb://$server", $options);
        return lang('Database does not support password.');                 // why return?
    } catch (Exception $ex) {
        // this is what we want
    }
}
return $connection;
GaetanNaulin commented 3 years ago

https://github.com/vrana/adminer/blob/master/adminer/drivers/mongo.inc.php#L622

Is there a bug in the logic of the latest adminer code? It's just my guess. It feels weird anyway

$connection->_link = $connection->connect("mongodb://$server", $options);
if ($password != "") {       
  $options["password"] = "";
  try {
      $connection->connect("mongodb://$server", $options);
      return lang('Database does not support password.');                 // why return?
  } catch (Exception $ex) {
      // this is what we want
  }
}
return $connection;

I try to move "return lang..." into catch, and now I'm able to connect to MongoDB. Many thanks !

dream-mo commented 3 years ago

adminer-mongodb is not unstable, let's wait for it to stabilize later.

SellamiRami commented 3 years ago

Hello all, Do you have some new about adminer-mongodb? In fact, I have an authentication problem when I'm using Adminer 4.7.7. However, when I'm using Adminer 4.8, i succeded to authenticate my self, to add some data. Nevertheless, I'm not able to create a new database or a new Collection. Thanks in advance for the response.

f3l1x commented 3 years ago

Hi @SellamiRami. Have you tried to use phar version of Adminer (https://github.com/vrana/adminer/releases/tag/v4.8.1)? We should locate this issue, if it's in adminer itself or in dockette/adminer.

f3l1x commented 2 years ago

Can you please test latest version?