通過屬性memberof可以獲取使用者的所有組,但除了主要組.
不過可以通過primarygroupid來獲取,雖然它返回的是rid
嘗試用rid作為filter,但總是取不回結果來。
最後只好通過objectsid,但objectsid是個byte型別,所以通過filter也獲取不到,最後只好通過把所有的組快取到本地,然後來獲取組名稱,**如下:
public string getallgroupsforuser(string username)
foreach (var memberof in searchresult.properties["memberof"])
if (searchresult.properties["primarygroupid"].count > 0)
}return groups.toarray();
}public string getgroupnamebyrid(int32 rid)
private void reloadgroupnames()
quot;);
match matchrid = regrid.match(secid.value);
string srid = matchrid.groups[1].value;
int32 rid = int32.parse(srid);
if (groupnames.containskey(rid)) continue;
groupnames.add(rid,(string)searchresult.properties["name"][0]);}}
}private static object loadgrouplock = new object(); //鎖
private static dictionarygroupnames = new dictionary(); //儲存rid和name
獲取使用者的主要組名稱
通過屬性memberof可以獲取使用者的所有組,但除了主要組.不過可以通過primarygroupid來獲取,雖然它返回的是rid 嘗試用rid作為filter,但總是取不回結果來。最後只好通過objectsid,但objectsid是個byte型別,所以通過filter也獲取不到,最後只好通過把所...
怎樣獲取使用者及使用者組資訊
利用struct passwd這個結構體就可以獲取使用者的資訊 此結構體如下所示 struct passwd 但是我們如何獲得passwd相應的資料呢?此時我們可以通過 struct sta buf這個結構體獲取使用者的id,只要我們知道了使用者的id,就可以通過getpwuid 獲取使用者的pas...
獲取使用者的ip位址
程式處理中使用了方法 request.getremoteaddr 來獲取使用者的ip位址,但是這個ip位址容易被欺騙.並且在通過了apache,squid等反向 軟體就不能獲取到客戶端的真實ip位址了。或者內網服務就在域控機器上,由於安裝了域控,拓撲結構發生變化,這時這個方法獲取的ip都為伺服器自身...