实现简单的ldap用户详细信息映射器 - grails

时间:2014-01-24 13:06:33

标签: spring grails spring-security ldap grails-plugin

在我之前的问题中,我正致力于为从ldap登录的用户添加角色。希望我设法为ldap注册自定义AuthoritiesPopulator。但现在我想为应用程序添加更多功能,为此我需要更多关于用户的信息而不是登录名。

遵循本指南: http://grails-plugins.github.io/grails-spring-security-ldap/docs/manual.106/guide/2.%20Usage.html

我猜我必须实现自己的ldap详细信息上下文映射器,我的确如下所示:

class CustomUserDetailsContextMapper implements UserDetailsContextMapper {

   @Override
   public UserDetails mapUserFromContext(DirContextOperations ctx, String username, Collection<? extends GrantedAuthority> authorities) {
      // FETCHING DATA and ADDING ROLE
      return new CustomUserDetails(trueUsername, null, true, true, true, true, list, email)
   }

   @Override
   public void mapUserToContext(UserDetails arg0, DirContextAdapter arg1) {
      throw new IllegalStateException("Only retrieving data from AD is currently supported")    
   }

}

在resource.config中添加映射:

    ldapUserDetailsMapper(amelinium1.grails.CustomUserDetailsContextMapper)

但它似乎不起作用。应用程序似乎使用GormUserDetailsS​​ervice来返回User而不是Context。我错过了什么吗? 非常感谢任何帮助!

0 个答案:

没有答案