как активировать LDAPLoginModule в Apache Karaf 3.0.3

Я хочу активировать модуль входа Ldap в apache karaf 3.0.3.

Мой karaf-jaas-module.xml ;

      .
      .        
      .   

    <jaas:config name="karaf" rank="2">
      <jaas:module className="org.apache.karaf.jaas.modules.ldap.LDAPLoginModule" flags="required">
        initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory
        connection.username=admin
        connection.password=xxxxxxx
        connection.protocol=
        connection.url=ldap://activedirectory_host:389
        user.base.dn=cn=orcladmin,cn=users,dc=vmldapdevelop,dc=com
        user.filter=(sAMAccountName=%u)
        user.search.subtree=true
        role.base.dn=ou=Groups,ou=there,DC=local
        role.name.attribute=cn
        role.filter=(member=%nsdn)
        role.search.subtree=true
        authentication=simple
      </jaas:module>
    </jaas:config>

   .
   .
   .

И я написал jaas:realm-list в консоли karaf и не увидел LdapLoginModule.

karaf@root()> jaas:realm-list
Index | Realm Name | Login Module Class Name

----------------------------------------------------------------------------
1     | karaf      | org.apache.karaf.jaas.modules.properties.PropertiesLoginModule
2     | karaf      | org.apache.karaf.jaas.modules.publickey.PublickeyLoginModule

Как я могу это сделать?


person Ömer Emir Garipağaoğlu    schedule 30.04.2015    source источник


Ответы (2)


Я подозреваю, что xml может быть в неправильном месте в комплекте. он должен быть в OSGI-INF/blueprint, как и другие контексты blueprint. Вам также необходимо иметь правильные определения пространств имен в заголовке xml-схемы.

Вы можете проверить, обрабатывается ли ваш проект xml, выполнив bundle:services . Вы должны увидеть службу BlueprintContainer. Если нет то блупринт либо вообще не подхватывается либо экстендер находит ошибку. Вы можете использовать команду diag, чтобы показать ошибки схемы.

person Christian Schneider    schedule 30.04.2015

Да, это в папке с чертежами. И эта папка находится в комплекте jaas_module. Но измените что-нибудь в этом xml, karaf его не увидит. Потому что его переопределить.

Я решаю свою проблему. Я создаю новый XML-файл с именем ldap-module.xml, и в нем находится моя конфигурация. И я поместил этот xml в папку deploy.

Итак, мой новый xml переопределяет другой xml, и когда я пишу «jaas: realm-list» на консоли karaf, я вижу этот вывод;

        __ __                  ____
       / //_/____ __________ _/ __/
      / ,<  / __ `/ ___/ __ `/ /_
     / /| |/ /_/ / /  / /_/ / __/
    /_/ |_|\__,_/_/   \__,_/_/

  Apache Karaf (3.0.3)

Hit '<tab>' for a list of available commands
and '[cmd] --help' for help on a specific command.
Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown Karaf.

karaf@root()>
karaf@root()>
karaf@root()>
karaf@root()> jaas:realm-list
Index | Realm Name | Login Module Class Name
-----------------------------------------------------------------------
1     | karaf      | org.apache.karaf.jaas.modules.ldap.LDAPLoginModule
karaf@root()>

Спасибо.

person Ömer Emir Garipağaoğlu    schedule 05.05.2015
comment
Выполняли ли вы какие-либо команды после помещения этого файла в папку развертывания? Я поместил файл в папку deply, но он не развертывается автоматически. - person Kumar Abhinav; 24.01.2020