Среда представляет собой интегрированный конвейер IIS 7, ASP.NET 4.0.У меня есть страница .aspx, настроенная без анонимной аутентификации и с аутентификацией Windows:
<location path="auth/windows">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</location>
Когда я запрашиваю страницу, происходит нормальный ответ на запрос проверки подлинности Windows (NTLM / Negotiate), и в конечном итоге страница возвращается.
У меня есть HttpModule, в котором я обрабатываю событие PostAuthorize.Как и ожидалось, это событие вызывается только после успешной аутентификации запрос-ответ и получения доступа к странице.
Однако свойство Request.IsAuthenticated имеет значение false;и HttpContext.Current.User.Identity отражает пользователя, не прошедшего проверку подлинности (.Name возвращает пустую строку).Интересно, что Request.ServerVariables ["LOGON_USER"] действительно возвращает значение аутентифицированного пользователя Windows.
Я бы подумал, что, как только пользователь будет аутентифицирован (и авторизован, в этом отношении), запрос будет отражатьбыть аутентифицированным;и пользователь / личность для запроса были бы правильно установлены.
Есть мысли о том, почему это не так?
Спасибо,
Донни