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.

questionAnswers(6)

yourAnswerToTheQuestion