Я пытаюсь создать приложение Grails, которое может выполнять поиск LDAP.Я следовал нескольким руководствам ( текст ссылки и некоторым другим), но я не боюсь конца.
Соответствующий исходный код: из config.groovy:
ldap {
directories {
dir1 {
url = "ldap://dc01"
base = "ou=someou,dc=check,dc=nl"
userDn = "cn=Administrator,cn=Users,dc=check,dc=nl"
password = "wowthisisnothepassword"
}
}
schemas = [
ldapclient.GldapoSchemaClassForUser
]}
Мой domainclass:
package ldapclient
import gldapo.schema.annotation.GldapoNamingAttribute
import gldapo.schema.annotation.GldapoSynonymFor
import gldapo.schema.annotation.GldapoSchemaFilter
@GldapoSchemaFilter("(objectclass=person)")
class GldapoSchemaClassForUser {
@GldapoNamingAttribute
String uid
@GldapoSynonymFor("cn")
String name
@GldapoSynonymFor("mail")
String email
@GldapoSynonymFor("uid")
String username
@GldapoSynonymFor("fullname")
String fullName
}
И мой контроллер:
package ldapclient
class AdController {
def defaultAction = "list"
List matches = GldapoSchemaClassForUser.findAll(
filter: "(name=s*)"
)
def list = {
[ "adMatches" : matches.list() ]
}}
Хотя моя программа соответствует (насколько я могу судить) тому, что должно работать согласно многимдокументы, я не могу запустить это.Возникла ошибка:
Причина: groovy.lang.MissingMethodException: Нет подписи метода: static ldapclient.GldapoSchemaClassForUser.findAll () применимо для типов аргументов: (java.util.LinkedHashMap) значения:[[filter: (name = s )]] в ldapclient.AdController. (AdController.groovy: 6) *
Любые подсказки, что происходит / не так?Я на Grails 1.2.3 и использую самую последнюю версию плагина LDAP.Проект чистый (только что созданный).
Заранее спасибо!
Спасибо за ответ;Я просто обновил до Grails 1.3.4 и переместил некоторые файлы.Это помогло, хотя я все еще получаю эту неприятную ошибку:
Error creating bean with name 'ldapclient.AdController': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [ldapclient.AdController]: Constructor threw exception; nested exception is groovy.lang.MissingMethodException: No signature of method: static ldapclient.GldapoSchemaClassForUser.findAll() is applicable for argument types: (java.util.LinkedHashMap) values: [[directory:dir1, filter:(uid=myname,ou=st,ou=ouou,dc=dc,dc=dcdc)]] Possible solutions: findAll(groovy.lang.Closure), find(groovy.lang.Closure)