لا يمكن تحديد السمات التي يجب العودة إليها عند الاستعلام عن متجر LDAP

StackOverflow https://stackoverflow.com/questions/3919732

سؤال

أنا أستخدم services. أريد أن أكون قادرًا على التحكم في السمات التي يتم إرجاعها للإدخالات في الاستجابة وأعتقد أن خاصية "السمات" ستفعل ذلك. ومع ذلك ، فإن هذه الخاصية لا تحتوي على جهاز لذلك لا يمكنني فعل شيء مثل هذا:-

SearchRequest searchRequest = new SearchRequest
                                            {
                                                DistinguishedName = hubTable,
                                                Filter = ldapFilter,
                                                Scope = SearchScope.Subtree,                                                
                                                Attributes = new StringCollection{"Id", "File"}
                                            };
            //run the query and get the results
            SearchResponse results = connection.SendRequest(searchRequest) as SearchResponse;

هل يمكن لأي شخص أن يوجهني إلى ما يجب أن أفعله لتصفية الطلب لإرجاع إدخالات فقط بالسمات المحددة وليس جميعها.

هل كانت مفيدة؟

المحلول

ومن المفارقات أن هذا عمل:-

SearchRequest searchRequest = new SearchRequest(hubTable, ldapFilter, SearchScope.Subtree, new[] { "AppId", "File" });

نصائح أخرى

هل هناك سبب لاستخدام SearchResuest؟ في أي حال ، يمكنك استخدام فئة ActorySearcher http://msdn.microsoft.com/en-us/library/system.directoryservices.directorysearcher.aspx لإدخالات البحث. فيما يلي مثال على البحث عن نتيجة واحدة http://msdn.microsoft.com/en-us/library/system.directoryservices.searchresult.aspx. استخدم طريقة Findall للحصول على جميع النتائج.

أظن أنك ستحتاج إلى مرشح مختلف.

وأنا واثق بك ldapfilter لديه بعض المعايير. ستحتاج إلى ذلك (مع و) لتضمين (&(Id=*)(File=*)) من أجل الحصول على النتائج التي تبحث عنها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top