Подключиться к Mongo DB на удаленном сервере за LDAP с помощью perl

Итак, я намерен подключиться к mongoDB, который находится на удаленном сервере за LDAP. Сама по себе mongoDB не имеет настройки имени пользователя и пароля, но сервер, на котором работает mongoDB, находится за LDAP.

Мой вопрос в том, как мне настроить конфигурацию имени пользователя и пароля для туннелирования сервера для подключения к MongoDB.

Я использую модуль mongoDB от cpan.

допустим -
учетные данные LDAP:
имя пользователя - ldapuser
пароль - ldappassword

Я знаю, как настроить, если у mongoDB есть имя пользователя и пароль

my $connection = MongoDB::Connection->new(host => 'mongodb://perlnewbi3.remoteserver.com:27107', username => 'dbuser', password => 'dbpass', db_name => 'testdb');
my $database = $connection->testdb;

Как всегда, любая помощь будет принята с благодарностью


person Amey    schedule 29.09.2011    source источник
comment
Я также получаю сообщение об ошибке, которое каким-то образом связано с невозможностью получить ответ db, не подключенным к xxxxxxxxx / xxx / x / lib / MongoDB / Cursor.pm, строка 260   -  person Amey    schedule 30.09.2011


Ответы (1)


Все это на самом деле вопрос разрешений, а не вопрос того, как использовать MongoDB.

Есть два основных метода:

  1. Убедитесь, что приложение Perl работает в правильном пользовательском контексте, чтобы оно могло видеть порт 27017 на remoteserver.com.
  2. Создайте защищенный туннель на локальном компьютере, обычно с чем-то вроде SSH. Затем обновите свое соединение в PERL, чтобы оно указывало на правильный порт на локальном компьютере. (mongodb://localhost:27017)

Вариант №1, вероятно, является идеальным решением, однако вариант №2, вероятно, является самым простым в настройке.

person Gates VP    schedule 30.09.2011
comment
Я намерен запускать эти сценарии с Jenkins / Hudson, которые работают как пользователь Jenkins на машине Jenkins, поэтому вариант 1 в основном для меня исключен. Поскольку пользователь jenkins не настроен на LDAP. Я могу получить доступ к серверу MongoDB только с использованием моих личных учетных данных для прохождения LDAP. Ваш второй вариант кажется каким-то образом возможным, но не могли бы вы подробно рассказать, как я могу этого добиться. - person Amey; 30.09.2011