У меня есть следующий образец кода в ASP.NET
using (PrincipalContext domainContext = new PrincipalContext(ContextType.Domain))
{
using (UserPrincipal user = UserPrincipal.FindByIdentity(domainContext, HttpContext.Current.User.Identity.Name))
{
if (user == null)
{
lbName.Text = "No User Principal";
}
else
{
lbName.Text = user.DisplayName;
}
}
}
. Web.config выглядит так:
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
Я пробовал код на своей локальной машине разработки (часть домена, вход в систему как пользователь домена, VS2010, .Net 4.0, Windowx XP), чтобы локально протестировать, я могу получить объект UserPrincipal
.
Если я разверну на WIndows 2003 (также часть домена), IIS6, .Net 4.0 с пулом приложений, работающим в сетевой службе, я отключил анонимный доступ. Но код не может получить объект UserPrincipal
.
Нужно ли мне изменить пул приложений для работы под учетной записью домена, чтобы получить UserPrincipal
?