【问题标题】:How do I get all the memberOf Attribute assign to a particular user in LDAP如何将所有 memberOf 属性分配给 LDAP 中的特定用户
【发布时间】:2015-10-13 20:20:14
【问题描述】:

我创建了一个使用 LDAP 进行身份验证的应用程序。我需要找出用户分配到的所有组名。有没有办法找出来。我已经编写了代码,但不知何故它只返回一个随机的组名。

下面是我获取所有 memberOf 用户的代码。

private class UserAttributesMapper implements AttributesMapper {
        @Override
        public Object mapFromAttributes(Attributes attributes) throws NamingException {
            LdapUser user = new LdapUser();
            user.setCn((String)attributes.get("cn").get());
            user.setMemberOf((String)attributes.get("memberOf").get());

            /*String member = (String)attributes.get("memberOf").get();
            int length = attributes.get("memberOf").size();
            if(member != null){
                for(int i = 0;i<= length; i++){
                    user.setMemberOf(member);
                }
            }*/


            //user.setMemberOf(attributes.get("memberOf").getID());
            user.setsAMAccountName((String)attributes.get("sAMAccountName").get());
            return user;
        }
    }

该类用于为用户设置属性和返回属性。

提前致谢。

【问题讨论】:

    标签: java spring spring-security ldap


    【解决方案1】:

    这比我想象的要容易得多。请在下面找到代码。在这种情况下,您只需要枚举 for 循环中的所有 memberOf 并在 List 中分配 int,然后返回 List 以及所有其他属性。

    下面是代码。

    private class UserAttributesMapper implements AttributesMapper {
        @Override
        public Object mapFromAttributes(Attributes attributes) throws NamingException {
            LdapUser user = new LdapUser();
            user.setCn((String)attributes.get("cn").get());
            List<String> memberOf = new ArrayList<String>();
    
            for(Enumeration vals = attributes.get("memberOf").getAll(); vals.hasMoreElements();){
                memberOf.add((String)vals.nextElement());
            }
            user.setMemberOf(memberOf);
            user.setsAMAccountName((String)attributes.get("sAMAccountName").get());
            user.setMail((String)attributes.get("mail").get());
            return user;
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2010-12-03
      • 1970-01-01
      • 2016-05-03
      • 2013-03-04
      • 1970-01-01
      • 1970-01-01
      • 2019-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多