আপনি এখানে এই ফিল্টারটি দিয়ে একটি ক্যোয়ারী তৈরি করতে সক্ষম হবেন:
(&(objectClass=user)(sAMAccountName=yourUserName)
(memberof=CN=YourGroup,OU=Users,DC=YourDomain,DC=com))
এবং যখন আপনি এটি আপনার এলডিএপি সার্ভারের বিপরীতে চালান, আপনি যদি কোনও ফলাফল পান, আপনার ব্যবহারকারী "yourUserName" প্রকৃতপক্ষে "CN = আপনার গ্রুপ, OU = ব্যবহারকারী, ডিসি = আপনারডোমাইন, ডিসি = কম
চেষ্টা করুন এবং দেখুন এটি কাজ করে কিনা!
আপনি যদি সি # / ভিবি. নেট এবং সিস্টেম.ডাইরেক্টরি সার্ভিস ব্যবহার করেন তবে এই স্নিপেটটি কৌশলটি করা উচিত:
DirectoryEntry rootEntry = new DirectoryEntry("LDAP://dc=yourcompany,dc=com");
DirectorySearcher srch = new DirectorySearcher(rootEntry);
srch.SearchScope = SearchScope.Subtree;
srch.Filter = "(&(objectClass=user)(sAMAccountName=yourusername)(memberOf=CN=yourgroup,OU=yourOU,DC=yourcompany,DC=com))";
SearchResultCollection res = srch.FindAll();
if(res == null || res.Count <= 0) {
Console.WriteLine("This user is *NOT* member of that group");
} else {
Console.WriteLine("This user is INDEED a member of that group");
}
সাবধানতার কথা: এটি কেবলমাত্র তাত্ক্ষণিক গোষ্ঠী সদস্যতার জন্য পরীক্ষা করবে এবং এটি আপনার ডোমেনে "প্রাথমিক গোষ্ঠী" (সাধারণত "সিএন = ব্যবহারকারী") হিসাবে সদস্যতার জন্য পরীক্ষা করবে না। এটি নেস্টেড সদস্যপদগুলি পরিচালনা করে না, যেমন ব্যবহারকারী এ গ্রুপ এ এর সদস্য যা গ্রুপ বি এর সদস্য - এই সত্য যে ব্যবহারকারী এ সত্যই গ্রুপ বি এর সদস্য এবং এখানে প্রতিফলিত হয় না।
আঙ্গুরের ছিরড়া