Grails spring-security-ldap连接到localhost:389

时间:2014-11-20 14:04:54

标签: grails spring-security active-directory grails-plugin

我使用带有Grails 2.3.2的spring-security-ldap:2.0-RC2插件。我试图连接到Active Directory服务器。我在config.groovy

中配置了以下插件
grails.plugins.springsecurity.ldap.context.server = 'ldap://[ip]:389'
grails.plugins.springsecurity.ldap.context.managerDn = '[DN]'
grails.plugins.springsecurity.ldap.context.managerPassword = '[password]'
grails.plugins.springsecurity.ldap.authorities.ignorePartialResultException = true 
grails.plugins.springsecurity.ldap.authorities.retrieveDatabaseRoles = true
grails.plugins.springsecurity.ldap.search.filter = '(sAMAccountName={0})'
grails.plugins.springsecurity.ldap.search.base = [searchbase]
grails.plugins.springsecurity.ldap.search.searchSubtree = true
grails.plugins.springsecurity.ldap.auth.hideUserNotFoundExceptions = false
grails.plugins.springsecurity.ldap.search.attributesToReturn = ['name', 'mail'] 

我收到连接错误。但是,连接列为localhost:389,而不是我指定的AD服务器。

Caused by CommunicationException: localhost:389; nested exception is 
javax.naming.CommunicationException: localhost:389 [Root exception is java.net.ConnectException:       
Connection refused: connect]
->>   76 | attemptAuthentication in     
grails.plugin.springsecurity.web.authentication.RequestHolderAuthenticationFilter
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|     49 | doFilter              in     ''
|     82 | doFilter . . . . . .  in          
grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter
|   1145 | runWorker             in java.util.concurrent.ThreadPoolExecutor
|    615 | run . . . . . . . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    745 | run                   in java.lang.Thread

注意:我尝试使用Groovy-Ldap.jar连接(在单独的Groovy项目中) 我建立了一个连接:

ldap = LDAP.newInstance('ldap://[ip]:389', '[DN]', '[password]')

这很好用。我可以连接到AD。 知道什么可能是错的,为什么localhost:389被尝试和我指定的AD?

注意:在我的Grails项目中,我使用的是一个ProxySettings.groovy文件,其中包含http.nonProxyHosts中的几个条目(需要在内部网络中访问的所有服务器)。我尝试将AD服务器包含在nonProxyHosts中,但这没什么区别。

问候,

Jan-Willem Klomp

1 个答案:

答案 0 :(得分:3)

您应该在输出中收到警告,告诉您正在使用grails.plugins.springsecurity作为属性前缀,但它已在2.0中更改为grails.plugin.springsecurity。您的自定义属性将被忽略,并且仅使用默认值。