internal SearchResultEntry(XmlNode node) { this.attributes = new SearchResultAttributeCollection(); this.dsmlNode = node; this.dsmlNS = NamespaceUtils.GetDsmlNamespaceManager(); this.dsmlRequest = true; }
private SearchResultAttributeCollection AttributesHelper() { SearchResultAttributeCollection attributes = new SearchResultAttributeCollection(); XmlNodeList list = this.dsmlNode.SelectNodes("dsml:attr", this.dsmlNS); if (list.Count != 0) { foreach (XmlNode node in list) { DirectoryAttribute attribute = new DirectoryAttribute((XmlElement) node); attributes.Add(attribute.Name, attribute); } } return attributes; }
private SearchResultAttributeCollection AttributesHelper() { SearchResultAttributeCollection searchResultAttributeCollection = new SearchResultAttributeCollection(); XmlNodeList xmlNodeLists = this.dsmlNode.SelectNodes("dsml:attr", this.dsmlNS); if (xmlNodeLists.Count != 0) { foreach (XmlNode xmlNodes in xmlNodeLists) { DirectoryAttribute directoryAttribute = new DirectoryAttribute((XmlElement)xmlNodes); searchResultAttributeCollection.Add(directoryAttribute.Name, directoryAttribute); } } return(searchResultAttributeCollection); }
private SearchResultAttributeCollection AttributesHelper() { SearchResultAttributeCollection attributes = new SearchResultAttributeCollection(); XmlNodeList list = this.dsmlNode.SelectNodes("dsml:attr", this.dsmlNS); if (list.Count != 0) { foreach (XmlNode node in list) { DirectoryAttribute attribute = new DirectoryAttribute((XmlElement)node); attributes.Add(attribute.Name, attribute); } } return(attributes); }
public static long? GetAttributeFileTime(SearchResultAttributeCollection attributes, string attrName) { object[] obj = null; try { obj = attributes[attrName].GetValues(Type.GetType("System.String")); } catch { return null; } if (obj.Length > 1) { throw new Exception("Attribute has more than one entry."); } return Convert.ToInt64(obj[0]); }
private SearchResultAttributeCollection AttributesHelper() { SearchResultAttributeCollection attributes = new SearchResultAttributeCollection(); XmlNodeList nodeList = _dsmlNode.SelectNodes("dsml:attr", _dsmlNS); if (nodeList.Count != 0) { foreach (XmlNode node in nodeList) { Debug.Assert(node is XmlElement); DirectoryAttribute attribute = new DirectoryAttribute((XmlElement)node); attributes.Add(attribute.Name, attribute); } } return(attributes); }
public static ushort? GetAttributeUshort(SearchResultAttributeCollection attributes, string attrName) { object[] obj = null; try { obj = attributes[attrName].GetValues(Type.GetType("System.String")); } catch { //unable to get attrName attribute, value unset return null; } if (obj.Length > 1) { throw new Exception("Attribute has more than one entry."); } return Convert.ToUInt16(obj[0]); }
internal SearchResultEntry(string dn, SearchResultAttributeCollection attrs) { _distinguishedName = dn; _attributes = attrs; }
public static string GetobjectSid(SearchResultAttributeCollection attributes) { object[] obj = null; try { obj = attributes["objectSid"].GetValues(Type.GetType("System.Byte[]")); } catch { //unable to get objectSid attribute, value unset return null; } if (obj.Length > 1) { throw new Exception("objectSid has more than one entry."); } SecurityIdentifier objectSid = new SecurityIdentifier((byte[])obj[0], 0); return objectSid.ToString(); }
public static uint GetGroupCount(SearchResultAttributeCollection attributes) { //There is one built-in group: Domain Users group return (uint)attributes["memberOf"].Count + 1; }
public static uint[] GetGroupIds(SearchResultAttributeCollection attributes, string domainName, NetworkCredential cred) { LdapConnection connection = new LdapConnection(domainName); connection.Credential = cred; int groupCount = attributes["memberOf"].Count + 1; uint[] rid = new uint[groupCount]; //Fix me //The built-in groupmembership Domain Users Rid = 513 rid[0] = 513; for (int i = 1; i < groupCount; i++) { string dn = GetDomainDnFromDomainName(domainName); string targetOu = "cn=Users," + dn; string[] filter = attributes["memberOf"][i - 1].ToString().Split(','); SearchRequest searchRequest = new SearchRequest(targetOu, filter[0], SearchScope.Subtree, "objectSid"); SearchResponse searchResponse = (SearchResponse)connection.SendRequest(searchRequest); if (searchResponse.Entries.Count > 1) { throw new Exception("There are more than one entries with the same groupName."); } SearchResultAttributeCollection groupAttributes = searchResponse.Entries[0].Attributes; string[] tmp = GetobjectSid(groupAttributes).Split('-'); rid[i] = Convert.ToUInt32(tmp[tmp.Length - 1]); } return rid; }
internal SearchResultEntry (SearchResultAttributeCollection attributes, DirectoryControl [] controls, string distinguishedName) { Attributes = attributes; Controls = controls; DistinguishedName = distinguishedName; }
internal SearchResultEntry(SearchResultAttributeCollection attributes, DirectoryControl [] controls, string distinguishedName) { Attributes = attributes; Controls = controls; DistinguishedName = distinguishedName; }
internal SearchResultEntry(string dn) { this.attributes = new SearchResultAttributeCollection(); this.distinguishedName = dn; }
private SearchResultAttributeCollection AttributesHelper() { SearchResultAttributeCollection searchResultAttributeCollection = new SearchResultAttributeCollection(); XmlNodeList xmlNodeLists = this.dsmlNode.SelectNodes("dsml:attr", this.dsmlNS); if (xmlNodeLists.Count != 0) { foreach (XmlNode xmlNodes in xmlNodeLists) { DirectoryAttribute directoryAttribute = new DirectoryAttribute((XmlElement)xmlNodes); searchResultAttributeCollection.Add(directoryAttribute.Name, directoryAttribute); } } return searchResultAttributeCollection; }
private SearchResultAttributeCollection AttributesHelper() { SearchResultAttributeCollection attributes = new SearchResultAttributeCollection(); XmlNodeList nodeList = _dsmlNode.SelectNodes("dsml:attr", _dsmlNS); if (nodeList.Count != 0) { foreach (XmlNode node in nodeList) { Debug.Assert(node is XmlElement); DirectoryAttribute attribute = new DirectoryAttribute((XmlElement)node); attributes.Add(attribute.Name, attribute); } } return attributes; }