2011-06-13 15 views
0

我正在研究一個應用程序,在這個應用程序中我根據它們的RID來識別用戶nd組。因此,如果域中存在重複的RID,則會出現問題。以下鏈接http://support.microsoft.com/kb/315062指出,如果管理員佔用RID管理器的角色並且兩個或多個用戶同時請求RID,則可能會發生這種情況。我想知道可能導致重複RID的其他可能性。RID可以被複制的可能性有哪些

在此先感謝。

回答

1

我不明白你的問題的原因是你爲什麼使用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 FunctionspeUse檢索如果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用法。

+0

道歉的歧義,編輯的問題。我實際上想要識別使用RID的用戶,如果域上有重複的RID,則可能無法正常工作。因此,我想知道,可能出現這種情況的可能方式是什麼。 – 2011-06-13 08:48:10

+0

非常感謝。我會小心他們。 – 2011-06-14 11:58:47

相關問題