The WindowsAuthenticationEventArgs class is used to supply event values to the WindowsAuthentication_OnAuthenticate event and to enable you to specify a custom Windows identity for the current request.
The WindowsAuthenticationModule constructs a WindowsAuthenticationEventArgs object using the Windows identity supplied by IIS and the current HttpContext and passes it to the WindowsAuthentication_OnAuthenticate event.
You can use the User property of the WindowsAuthenticationEventArgs object supplied to the WindowsAuthentication_OnAuthenticate event to set the User property of the current HttpContext to a custom IPrincipal object. If you do not specify a value for the User property during the WindowsAuthentication_OnAuthenticate event, the Windows identity supplied by IIS is used as the identity for the current request. If IIS uses anonymous authentication, then the Identity property is set to the identity returned by the GetAnonymous method.
The WindowsAuthentication_OnAuthenticate event is raised only when the authentication Mode is set to Windows and the WindowsAuthenticationModule is an active HTTP module for the application.