Nasıl bir kullanıcı grubunun üyesi olup olmadığını test etmek için LDAP sorgu yazmak için?
Bir kullanıcı (sAMAccountName) belirli bir grubun bir üyesi olup olmadığını test eden bir LDAP sorgusu yazmak istiyorum. Yada 1 sonuç kayıtları 0, bu yüzden bunu yapmak mümkün mü?
Kullanıcı için tüm gruplar ve maç için her birini test edebilirim sanırım ama eğer bir LDAP ifade içine pack miyim diye merak ediyordum.
Herhangi bir fikir?
Teşekkürler
CEVAP
Bu filtre, burada bir sorgu ile mümkün olmalıdır:
(&(objectClass=user)(sAMAccountName=yourUserName)
(memberof=CN=YourGroup,OU=Users,DC=YourDomain,DC=com))
ve ne zaman çalıştırmak karşı LDAP sunucusu olursa olsun sonuç, kullanıcı "kullanıcıadınız" biz de grup üyelerinden birinin "CN=Eğer,OU=Kullanıcılar,DC=YourDomain,DC=com
Deneyin ve eğer bu işe yararsa bakın!
Eğer C kullanırsanız# / VB.Net ve Sistem.DirectoryServices, bu parçacık hile yapmak gerekir:
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");
}
Word Uyarı: Bu sadece test için acil grup üyelikleri, ve değil test için üyelik ne denir "birincil grup" (genellikle "cn=Kullanıcılar") etki. Yok kolu iç içe üyelikleri, örneğin Kullanıcı Bir üye Grubu olan üyesi B Grubu - bu aslında Bir Kullanıcı gerçekten bir üyesi B Grubu olarak değil yansıyan burada.
Marc
Nasıl dize Bash kabuğu ile dosyasında ...
Eğer kullanıcı giriş olup olmadığını k...
Eğer bir değişkenin NULL olup olmadığı...
Nasıl eğer isim bir kullanıcı olup olm...
Nasıl Server tablo sütun olup olmadığı...