我目前正在考虑在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?
提前致谢 :-)
1 回答
也许我的存根项目可以提供帮助? https://github.com/javazquez/Grails-Active-Directory-LDAP-example