Anda harus dapat membuat kueri dengan filter ini di sini:
(&(objectClass=user)(sAMAccountName=yourUserName)
(memberof=CN=YourGroup,OU=Users,DC=YourDomain,DC=com))
dan ketika Anda menjalankannya terhadap server LDAP Anda, jika Anda mendapatkan hasilnya, pengguna Anda "yourUserName" Anda memang anggota grup "CN = YourGroup, OU = Pengguna, DC = YourDomain, DC = com
Coba dan lihat apakah ini berhasil!
Jika Anda menggunakan C # / VB.Net dan System.DirectoryServices, cuplikan ini harus melakukan trik:
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");
}
Peringatan: ini hanya akan menguji keanggotaan grup langsung, dan itu tidak akan menguji keanggotaan dalam apa yang disebut "grup utama" (biasanya "cn = Pengguna") di domain Anda. Itu tidak menangani keanggotaan bersarang, misalnya Pengguna A adalah anggota Grup A yang merupakan anggota Grup B - fakta bahwa Pengguna A benar-benar anggota Grup B juga tidak tercermin di sini.
Marc