0

我在'Alpha'域上部署了MVC 4 web應用程序,並且Web應用程序使用以下代碼獲取Windows用戶詳細信息。我們有3個不同的域(Alpha,Beta和Gamma)之間的信任關係。當名爲Beta\bloggs登錄的用戶打開以下代碼時,網絡應用會返回alpha\bloggs的詳細信息。有沒有辦法從活動目錄中獲取正確的用戶?MVC4 web從錯誤的Active Directory獲取用戶詳細信息。

在此先感謝。

using (PrincipalContext context = new PrincipalContext(ContextType.Domain)) 
{ 
    using (UserPrincipal user = UserPrincipal.FindByIdentity(context, username)) 
    { 
     if (user != null) 
     { 
      HttpContext.Current.Session["FullUserName"] = fullName; 
      HttpContext.Current.Session["EmailAddress"] = user.EmailAddress; 
     } 
    } 
} 

回答

1

據我所知,你應該測試一個全球目錄。

你可以試着改變你的上下文是這樣的:

PrincipalContext context = new PrincipalContext(ContextType.Domain, "DNSName.Of.GlobalCatalog.com:3268", "DC=yourcompany,DC=com"); 
0

Context.domain標識要使用的憑證存儲。仍然需要連接到正確的域來查找另一個域中的信息。域信任只是指定憑證映射,域x中的域映射到域z中的憑證y。

我不認爲FindByIdentity可以處理隱式域信任查找。

+0

感謝您的答覆。我無法理解你的答案。你能解釋一下嗎?這是否意味着它不可能! – Scorpion

+0

我相信你需要直接連接到你想查詢的AD服務器。 –

相關問題