3

我目前正在考虑在 Grails 中创建一个应用程序,并且我已经创建了该应用程序并安装了以下两个插件:

http://grails.org/plugin/spring-security-ldap http://grails.org/plugin/spring-security-core

然后我继续运行以下命令以获取安全核心设置:

grails s2-quickstart com.smstool User Role

然后创建了我需要的所有必要的控制器、视图和模型。然后我继续使用以下选项更新 config.groovy 文件:

grails.plugins.springsecurity.ldap.authorities.groupSearchBase = 'DC=MYLOCATION, DC=COM'
grails.plugins.springsecurity.ldap.authorities.retrieveDatabaseRoles = false
grails.plugins.springsecurity.ldap.authorities.ignorePartialResultException = true // typically needed for Active Directory
grails.plugins.springsecurity.ldap.search.base = 'DC=MYLOCATION, DC=COM'
grails.plugins.springsecurity.ldap.search.filter="sAMAccountName={0}" // for Active Directory you need this
grails.plugins.springsecurity.ldap.search.searchSubtree = true
grails.plugins.springsecurity.ldap.auth.hideUserNotFoundExceptions = false
grails.plugins.springsecurity.ldap.search.attributesToReturn = ['mail', 'displayName'] // extra attributes you want returned; see below for custom classes that access this data
grails.plugins.springsecurity.providerNames = ['ldapAuthProvider', 'anonymousAuthenticationProvider'] // specify this when you want to skip attempting to load from db and only use LDAP

// role-specific LDAP config 
grails.plugins.springsecurity.ldap.useRememberMe = false 
grails.plugins.springsecurity.ldap.authorities.retrieveGroupRoles = true 
grails.plugins.springsecurity.ldap.authorities.groupSearchBase = 'DC=MYLOCATION, DC=COM'

然后我运行应用程序并转到运行第一个命令(s2-quickstart)时创建的登录页面,但是当我尝试输入我的 LDAP 详细信息时,我没有收到错误,但它说用户名不存在.

我认为这可能是因为需要进一步配置才能使此 LDAP 功能正常工作,并且用户输入的详细信息未正确传递,我也是 Grails 的新手 :-)。

我想我可能需要做一些事情,比如创建一个“UserDetailsContextMapper”,但是我不知道该怎么做,我查看了下面的链接,但似乎无法掌握我需要做什么:

http://grails-plugins.github.com/grails-spring-security-ldap/docs/manual/guide/2.%20Usage.html

有没有人可以帮助我理解上面的链接,或者知道我应该采取哪些步骤来正确地对 LDAP 进行身份验证?

提前致谢 :-)

4

1 回答 1

1

也许我的存根项目可以提供帮助?https://github.com/javazquez/Grails-Active-Directory-LDAP-example

于 2014-01-12T16:27:14.427 回答