獲取使用者的主要組名稱

2021-05-26 16:28:43 字數 956 閱讀 6430

通過屬性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都為伺服器自身...