Exemple #1
0
 private T GetObject <T>(string ldapBind)
 {
     using (DirectoryEntry entry = new DirectoryEntry(ldapBind))
     {
         using (DirectorySearcher searcher = new DirectorySearcher(entry))
         {
             searcher.PropertiesToLoad.AddRange(metadataResolver.GetPropertiesToLoad <T>());
             return(ActiveDirectoryEntityMapper.MapSearchResult <T>(searcher.FindOne()));
         }
     }
 }
Exemple #2
0
        public List <T> Search <T>(NamingContext namingContext, ActiveDirectoryMetadata metadata)
        {
            List <T> list = new List <T>();

            string searchFilter = string.Format("(objectClass={0})", metadataResolver.GetSchemaClass <T>());

            using (DirectoryEntry entry = new DirectoryEntry(GetLdapConnectionString(namingContext, metadata), metadata.Username, metadata.Password))
            {
                using (DirectorySearcher searcher = new DirectorySearcher(entry))
                {
                    searcher.Filter = searchFilter;
                    var propertiesToLoad = metadataResolver.GetPropertiesToLoad <T>();
                    searcher.PropertiesToLoad.AddRange(propertiesToLoad);
                    foreach (SearchResult result in searcher.FindAll())
                    {
                        list.Add(ActiveDirectoryEntityMapper.MapSearchResult <T>(result));
                    }
                }
            }
            return(list);
        }