HttpContext.Current.User nie jest wypełniony przy włączonym uwierzytelnianiu systemu Windows
Mam aplikację intranetową asp.net przy użyciu uwierzytelniania systemu Windows. Aplikację stworzyłem lata temu w VS 2005, a bit uwierzytelniania Windows działał idealnie. Mój web.config ma następujące funkcje (wewnątrz konfiguracji -> element system.web):
<authentication mode="Windows" />
<authorization>
<deny users="?"/>
</authorization>
Testuję to w Firefoksie, aby potwierdzić, że wymagane są poświadczenia, i rzeczywiście, podczas pierwszego uzyskiwania dostępu do witryny wyświetlany jest monit o podanie poświadczeń sieciowych, a odmowa jest możliwa, jeśli są one nieprawidłowe.
Jednak gdy próbuję uzyskać dostęp do HttpContext.Current.User.Identity, obiekt ma puste ciągi dla Name i AuthenticationType, a Authenticated = false. Pomyślałem, że być może będę musiał włączyć WindowsTokenRoleProvider po obejrzeniu interwebs, a to nic nie zmieniło.
<roleManager defaultProvider="WindowsProvider" enabled="true" cacheRolesInCookie="false">
<providers>
<clear/>
<add name="WindowsProvider" type="System.Web.Security.WindowsTokenRoleProvider"/>
</providers>
</roleManager>
Dwie rzeczy, które zrobiłem od ostatniego razu, kiedy to widziałem, to uaktualnienie projektu do VS 2008 za pomocą kreatora konwersji, a ja również odłożyłem go na kilka miesięcy, podczas gdy moi współpracownicy mogli pracować nad tym tutaj lub tam . Byłem całkiem pewien, że jedyną rzeczą, która wpływa na moją User.Identity są wartości w web.config wspomnianym powyżej, ale najwyraźniej robię coś złego. Ktoś inny napotyka podobny problem lub widzi coś, co robię źle? Dzięki.