Пользовательский раздел в ApacheDS - PullRequest
2 голосов
/ 15 декабря 2011

Я использую ApacheDS версии 2.0.0-M3 (я не очень хорошо знаю, как это работает).Я создал новый класс разделов, расширяющий AbstractPartition.Я могу создать экземпляр этого класса и добавить его в экземпляр ApacheDsService.

    File instancePath = new File( param[0] );
    ApacheDsService service = new ApacheDsService();
    InstanceLayout layout = new InstanceLayout( instancePath );

    try
    {
        service.start(layout);
        //
        TestPartition partition = new TestPartition ( layout );
        partition.setSuffix( "ou=test" );
        partition.setSchemaManager( service.getDirectoryService().getSchemaManager() );
        partition.initialize();
        service.getDirectoryService().addPartition( partition );
    }
    catch (Exception x)
    {
        LOG.error("Failed to start the service.", x);
        System.exit(1);
    }

Однако, когда я подключаюсь к своему серверу с помощью Apache Directory Studio, я не вижу свой раздел.

Я нашел этот вопрос: Как создать раздел в корне на сервере ApacheDS программно, используя JNDI / LDAP? , где Кайягари говорит, что необходимо "настроить раздел ... вou = область конфигурации ".

Я не уверен, что именно это означает, и мне не повезло в поисках подробностей в Интернете.

Я вижу раздел ou = config в Apache Directory Studio.Там я вижу другие разделы: ads-partitionId = system и ads-partitionId = пример.Глядя на атрибуты objectClass, я вижу, что у обоих есть атрибуты со значением ads-jdbmPartition.Я не уверен, должен ли мой раздел иметь такую ​​запись (поскольку это не раздел jdbm, но он получает свои данные из веб-службы).

(К сожалению, ссылка на документацию для 2.0.0-M3 наСайт ApacheDS дает 404.) Как должна выглядеть запись LDIF для моего пользовательского раздела?Я не могу понять это правильно и не знаю, что я что-то упустил или что-то неправильно ввел.

Любая помощь будет оценена.

Спасибо.

1 Ответ

1 голос
/ 13 января 2012

ApacheDS версии 2.0.0-M3 (и 2.0.0-M4), похоже, находятся в стадии разработки.Согласно хранилищу ApacheDS версия 2.0.0-M3 не видела никакой активности с августа 2011 года. В августе 2011 года была поднята проблема с отсутствующей документацией (см .: Неработающая ссылка на веб-сайте ("Основное руководство пользователя "на странице ApacheDS 2.0) ).

Из хранилища также видно, что версия 2.0.0-M4 в настоящее время работает (с очень недавними действиями).Есть некоторая документация 2.0.0-M3 о.Доступна сгенерированная 2.0.0M3 Maven документация .Также можно загрузить исходный код 2.0.0-M3 , который содержит многочисленные модульные тесты, которые можно использовать для расшифровки правильного подхода - исходный код доступен на персональная страница Эммануэля Лехарни (но, похоже, не на самом сайте ApacheDS).Эммануэль Лешарни, по-видимому, является основным коммиттером для версии 2.0.0-M3 (а Киран Айягари ( kayyagari ) также является коммиттером ApacheDS).

Надеюсь, у вас теперь достаточно информации, чтобыпозвольте вам следовать маршруту 2.0.0-M3 / M4, если вы того пожелаете.


Из-за отсутствия документации для ветки 2.x, я думаю, что это будет НАМНОГО проще для использования ApacheDS версии 1.5.7 (по крайней мере, до тех пор, пока не будет документирована ветка 2.x).Версия 1.5.7 включает документацию и рабочие примеры , такие как встраивание ApacheDS в приложение и в веб-приложение.

Я попробовал пример встроенного сервера и смог получить доступ к полученному серверу каталогов с помощью Apache Directory Studio.Интересно, что с примером встроенного примера модуль, содержащий файлы shared-ldap-schema , исключен из пути к классам (я предполагаю, что это потому, что пример является минимальной реализацией, а не полностью совместимым со стандартом сервером LDAP).

...