以下在我的本地開發框中工作良好。然而,當我將它移動到它失敗,甚至不會記錄錯誤的Web服務器:Active Directory目錄UserPrincipal.Current.GetGroups()返回本地不在Web服務器上的組
public static List<string> getAuthorizationGrps(string userName)
{
List<string> grps = new List<string>();
try
{
PrincipalSearchResult<Principal> groups = UserPrincipal.Current.GetGroups();
IEnumerable<string> groupNames = groups.Select(x => x.SamAccountName);
foreach (var name in groupNames)
{
grps.Add(name.ToString());
}
return grps;
}
catch (Exception ex)
{
Log.WriteLog("Error in retriving form data: " + ex.Message);
}
}
有,我必須在Web服務器上設置查詢組的權限?我可以在本地和Web服務器上都可以獲得當前用戶的問題。
任何想法將不勝感激,我一直在爲此打了2天。
我正在使用Net 4.0。因爲您提供的代碼無法正常工作的原因。但是,按照您的基本步驟,我將App Pool更改爲在Network Services下運行,現在我可以完成獲取用戶的任務。謝謝! – 2012-08-08 13:40:41
你需要自己聲明RevertToSelf。這是一個棘手的問題。查看博客如何聲明它 – 2012-08-08 15:20:14