Метод аутентификации Spring LDAP выдает java.lang.NoSuchMethodError

Я пытаюсь использовать метод LDAPTemplate authenticate из Spring LDAP (1.3.1.RELEASE), но он выдает следующее исключение

java.lang.NoSuchMethodError: org.springframework.ldap.core.LdapTemplate.authenticate(Ljavax/naming/Name;Ljava/lang/String;Ljava/lang/String;)Z

Ниже приведены мои зависимости Maven 3.0.1.

<dependency>
  <groupId>org.springframework.ldap</groupId>
  <artifactId>spring-ldap-core</artifactId>
  <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework.ldap</groupId>
  <artifactId>spring-ldap-core-tiger</artifactId>
  <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework.ldap</groupId>
  <artifactId>spring-ldap-odm</artifactId>
  <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework.ldap</groupId>
  <artifactId>spring-ldap-ldif-core</artifactId>
  <version>1.3.1.RELEASE</version>
</dependency>
<dependency>
  <groupId>org.springframework.ldap</groupId>
  <artifactId>spring-ldap-ldif-batch</artifactId>
  <version>1.3.1.RELEASE</version>
</dependency>

Ниже приведен код, который я использовал для аутентификации.

    AndFilter andFilter = new AndFilter();
    andFilter.and(new EqualsFilter("objectclass", "person"));
    andFilter.and(new EqualsFilter("uid", "myid"));
    ldapTemplate.authenticate(DistinguishedName.EMPTY_PATH, andFilter.toString(), "password");

К вашему сведению... Я использовал другие методы LDAPTemplate, такие как search, bind, unbind, без каких-либо проблем.


person Praneeth    schedule 11.09.2012    source источник


Ответы (2)


LdapTemplate.authenticate довольно новый.

Вероятно, у вас была более старая версия библиотеки, кэшированная Maven (или вашей IDE), в результате чего версия среды выполнения была старше, чем та, которая использовалась для компиляции.

person Samuel EUSTACHI    schedule 12.09.2012

Ошибка ушла после перезапуска сервера

person Praneeth    schedule 11.09.2012