2016-07-25 74 views
0

我怎樣才能看到用戶是否是管理員或不在活動目錄使用C#?將他的名字羣體是不是一種選擇,因爲在不同的語言這個角色的名字是不同的(администраторы,管理員等)活動目錄 - 看到用戶是管理員c#

+0

你的意思是從程序本身來檢查,如果用戶是管理員或不是? 我不知道活動目錄.. – Slashy

+0

我有內部網站點。用戶通過Windows身份驗證登錄。是否管理 - 他將擁有多少權限。活動目錄是獲取用戶角色的一種方式 –

回答

0

弗拉德,

查詢AD以獲取管理員組的成員已經問.. 。

Server 2003的here以及this too

由於您的問題似乎是關心區分字符串爲「管理員」,在已安裝的語言,你會不會只是有這個區域特定的名稱,請RESO urces /代碼?

0

我怎樣才能看到如果用戶是管理員或不在活動目錄使用C#?

我假定「管理員在活動目錄」是指AD的字面管理員(即內建Administrators組的成員)

內建管理員組將總是具有相同的RID (相對標識符) - 對象安全標識符的最後部分 - 544

神火的方式找到管理員組因此簡單:

  1. 實例化一個DirectoryEntry爲默認的根對象NC
  2. 閱讀的objectSID屬性根對象價值
  3. 附加知名RID(-544
  4. 實例化基礎上產生的SID一個DirectoryEntry(是的,你可以做到這一點)

DirectoryEntry dnc = new DirectoryEntry("LDAP://corp.domain.tld"); 
SecurityIdentifier domainSID = new SecurityIdentifier(dnc.Properties["objectSid"].Value); 

string administratorsGroupSID = String.Format("{0}-544", domainSID); 
string administratorsGroupSIDPath = String.Format("LDAP://<SID={0}>", administratorsGroupSID); 

DirecoryEntry AdministratorsGroupDE = new DirectoryEntry(administratorsGroupSIDPath); 

搶個

相關問題