我有一些代碼檢查Active Directory
爲用戶所屬的所有組,這在本地開發環境中正常工作,但不會在我發佈到測試系統時正常工作。活動目錄羣組不被退回
一位同事建議可能應用程序池運行在IIS
下的帳戶無法輪詢Active Directory
。情況會是這樣嗎?什麼可能導致沒有團體被退回?
當我在本地運行我的代碼時,我能夠檢索列表,但是測試會回到空白狀態。根本沒有錯誤。
示例代碼,在那裏我變「活」到「TEST」,因爲我們有一個多域網絡,但既不作品:
UserPrincipal user = UserPrincipal.Current;
if (user != null)
{
PrincipalContext principalContext = new PrincipalContext(ContextType.Domain, "TEST");
List<Principal> groupResults = user.GetGroups(principalContext).ToList();
}
這可能是一個愚蠢的問題,但是你完全確定在測試環境中有AD組嗎? –
當然不是一個愚蠢的問題!我的誠實答案是我不知道,但是因爲我已經將域名(假設這實際上正常工作)更改爲Live,並且它仍然沒有返回任何內容,並且我知道Live AD系統具有以我的名字列出的組...但如果它最終檢查對IIS帳戶,這將是另一回事。 – MattR
這是一個在IIS中的NetworkService用戶上下文中運行的Web應用程序嗎?另外,你會知道你想找到組的特定用戶的名字嗎? – Scampbell