我正在研究一個應用程序,在這個應用程序中我根據它們的RID來識別用戶nd組。因此,如果域中存在重複的RID,則會出現問題。以下鏈接http://support.microsoft.com/kb/315062指出,如果管理員佔用RID管理器的角色並且兩個或多個用戶同時請求RID,則可能會發生這種情況。我想知道可能導致重複RID的其他可能性。RID可以被複制的可能性有哪些
在此先感謝。
我正在研究一個應用程序,在這個應用程序中我根據它們的RID來識別用戶nd組。因此,如果域中存在重複的RID,則會出現問題。以下鏈接http://support.microsoft.com/kb/315062指出,如果管理員佔用RID管理器的角色並且兩個或多個用戶同時請求RID,則可能會發生這種情況。我想知道可能導致重複RID的其他可能性。RID可以被複制的可能性有哪些
在此先感謝。
我不明白你的問題的原因是你爲什麼使用RID來區分用戶和組。對象來自不同的類別,所以它們自然而然地被區分開來。
在Win32編程,你可以只使用:
BOOL WINAPI LookupAccountSid(
__in_opt LPCTSTR lpSystemName,
__in PSID lpSid,
__out_opt LPTSTR lpName,
__inout LPDWORD cchName,
__out_opt LPTSTR lpReferencedDomainName,
__inout LPDWORD cchReferencedDomainName,
__out PSID_NAME_USE peUse
);
這個API來自Authorization Functions在peUse
檢索如果SID是一個用戶或組。
使用.NET Framework(C#),SecurityIdentifier
可用於確定SID是否代表有效的域帳戶。
最後一件事:通常用於區分目錄中的對象的方式是objectGUID
屬性。該屬性存在於每個對象中。所以,你可以從Active Directory服務接口(ADSI)使用的SID或GUID
"LDAP:///<GUID={28c67c50-9778-47a4-a77a-bf56f238a0c4}>"
或
"LDAP:///<SID=S-1-5-21-500000003-1000000000-1000000003-1001>"
retreive對象(您的評論後編輯) 據我所知,重複的RID在一個域內被認爲是一個例外,這個例外是由一個服務於相對ID(RID)主控角色的域控制器的丟失所解釋的。也許它存在的黑客工具能夠修補AD數據庫來更改SID,但我不知道它們。
小心,RIDs可能在其他域中複製。如果你有森林中的子域或其他樹木,你可以再次找到具有不同子權限的相同RID(潛在性在同一個ACL中)
我發現在計算機SID中也是重複的,但是它是由於壞的Ghost用法。
道歉的歧義,編輯的問題。我實際上想要識別使用RID的用戶,如果域上有重複的RID,則可能無法正常工作。因此,我想知道,可能出現這種情況的可能方式是什麼。 – 2011-06-13 08:48:10
非常感謝。我會小心他們。 – 2011-06-14 11:58:47