HttpContext.Current.User не заполнен с включенной аутентификацией Windows

У меня есть приложение для интрасети asp.net, использующее аутентификацию Windows. Я создал приложение несколько лет назад с VS 2005, и бит проверки подлинности Windows работал отлично. Мой web.config имеет следующее (внутри конфигурации -> элемент system.web):

    <authentication mode="Windows" />
    <authorization>
        <deny users="?"/>
    </authorization>

Я проверяю это в Firefox, чтобы подтвердить, что учетные данные требуются, и, действительно, я запрашиваю мои сетевые учетные данные при первом доступе к сайту, и мне отказывают, если они недействительны.

Однако, когда я пытаюсь получить доступ к HttpContext.Current.User.Identity, у объекта появляются пустые строки для Name и AuthenticationType, и Authenticated = false. Я подумал, что мне может понадобиться включить WindowsTokenRoleProvider после осмотра межплетений, и это ничего не изменило.

    <roleManager defaultProvider="WindowsProvider" enabled="true" cacheRolesInCookie="false">
        <providers>
            <clear/>
            <add name="WindowsProvider" type="System.Web.Security.WindowsTokenRoleProvider"/>
        </providers>
    </roleManager>

Две вещи, которые я сделал с тех пор, как в последний раз видел, как он работает, - это обновить проект до VS 2008 с помощью мастера конвертации, и я также отложил его на несколько месяцев, пока мои коллеги могли работать над этим здесь или там. , Я был почти уверен, что единственное, что влияет на мой User.Identity, это значения в web.config, упомянутые выше, но, очевидно, я делаю что-то не так. Кто-нибудь еще сталкивался с подобной проблемой или видел что-то, что я делаю неправильно? Благодарю.

Ответы на вопрос(6)

Ваш ответ на вопрос