【发布时间】:2012-08-28 08:32:08
【问题描述】:
我目前正在考虑在 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 进行身份验证??
提前致谢:-)
【问题讨论】:
-
您的问题解决了吗?
-
我遇到了同样的问题,请告诉我您是如何解决问题的