/// <summary> /// Parses a LdapAttributeSet and the specified user DN /// Returns a user object. /// </summary> /// <param name="attrSet"> /// A <see cref="LdapAttributeSet"/> /// </param> /// <param name="dn"> /// A <see cref="System.String"/> /// </param> /// <returns> /// A <see cref="LDAPUser"/> /// </returns> public static LDAPUser iterUsrAttrs(LdapAttributeSet attrSet, string dn) { LDAPUser user; System.Collections.IEnumerator ienum = attrSet.GetEnumerator(); if (attrSet.Count == 0) { Logger.Debug("No attributes in the AttributeSet for {0}", dn); return null; } user = new LDAPUser(dn); while(ienum.MoveNext()) { LdapAttribute attribute=(LdapAttribute)ienum.Current; Logger.Debug("Parsing {0}", attribute); if (AttrEquals(attribute, ATTRNAME.NDSHOMEDIRECTORY)) user.parseNdsHomeDirPath(AttributeUtil.getAttr(attrSet, ATTRNAME.NDSHOMEDIRECTORY)); if (AttrEquals(attribute, ATTRNAME.SN)) user.setSN(AttributeUtil.getAttr(attrSet, ATTRNAME.SN)); if (AttrEquals(attribute, ATTRNAME.GIVENNAME)) user.setGivenName(AttributeUtil.getAttr(attrSet, ATTRNAME.GIVENNAME)); if (AttrEquals(attribute, ATTRNAME.TITLE)) user.Title = AttributeUtil.getAttr(attrSet, ATTRNAME.TITLE); if (AttrEquals(attribute, ATTRNAME.HOMEPHONE)) user.HOMEPHONE = AttributeUtil.getAttr(attrSet, ATTRNAME.HOMEPHONE); if (AttrEquals(attribute, ATTRNAME.DISPLAYNAME)) user.DISPLAYNAME = AttributeUtil.getAttr(attrSet, ATTRNAME.DISPLAYNAME); if (AttrEquals(attribute, ATTRNAME.NGWFID)) user.GW_FID = AttributeUtil.getAttr(attrSet, ATTRNAME.NGWFID); } return user; }