This documentation is archived and is not being maintained.

WindowsAuthenticationModule.Authenticate Event

Occurs when the application authenticates the current request.

Namespace:  System.Web.Security
Assembly:  System.Web (in System.Web.dll)

public event WindowsAuthenticationEventHandler Authenticate

The Authenticate event is raised during the AuthenticateRequest event.

You can access the Authenticate event of the WindowsAuthenticationModule class by specifying a subroutine named WindowsAuthentication_OnAuthenticate in the Global.asax file for your ASP.NET application.

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.

NoteNote

In IIS 7.0 running in Integrated Mode, the Authenticate event of the WindowsAuthenticationModule is not raised when both the ASP.NET WindowsAuthenticationModule and the IIS AnonymousAuthenticationModule modules are enabled. In this scenario, to receive authentication notification, subscribe to the AuthenticateRequest event of the HttpApplication instance. For more information about compatibility issues in Integrated modes, see Moving an ASP.NET Application from IIS 6.0 to IIS 7.0.

The following code example uses the WindowsAuthentication_OnAuthenticate event to set the User property of the current HttpContext to a custom IPrincipal object.


public void WindowsAuthentication_OnAuthenticate(object sender, WindowsAuthenticationEventArgs args)
{
  if (!args.Identity.IsAnonymous)
  {
    args.User = new Samples.AspNet.Security.MyPrincipal(args.Identity);
  }
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Show: