Я думаю, что это признак того, что вы слушаете не то событие.Вероятно, вам следует прослушать Application.PostAuthenticateRequest .
Запуск образца кода с использованием имеющегося у меня проекта, который аутентифицируется в Active Directory моего локального домена и спрашивает, является ли объект User ничем:
Код
Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
Debug.WriteLine("Authenticate Request: " & (HttpContext.Current.User Is Nothing))
End Sub
Sub Application_PostAuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs)
Debug.WriteLine("Post-authenticate Request: " & (HttpContext.Current.User Is Nothing))
End Sub
Вывод
Запрос на аутентификацию: True
Пост-аутентификацияЗапрос: False
После события PostAuthenticateRequest
свойство HttpContext.Current.User.Identity
является экземпляром System.Security.Principal.GenericIdentity
для неаутентифицированных запросов.