【问题标题】:Grails spring-security-ldap connecting to localhost:389Grails spring-security-ldap 连接到 localhost:389
【发布时间】:2015-01-18 10:16:25
【问题描述】:

我在 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 中的多个条目(所有需要在内部网络中访问的服务器)。我已经尝试在 nonProxyHosts 中包含 AD 服务器,但这没有什么区别。

问候,

扬-威廉·克伦普

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2016-04-13
      • 2015-05-04
      • 2011-08-15
      • 2011-09-23
      • 1970-01-01
      • 2017-10-10
      • 2017-02-22
      • 2014-04-01
      • 2018-03-02
      相关资源
      最近更新 更多