WindowsAuthenticationModule Class (System.Web.Security)

Switch View :
ScriptFree
.NET Framework Class Library
WindowsAuthenticationModule Class

Sets the identity of the user for an ASP.NET application when Windows authentication is enabled. This class cannot be inherited.

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

Visual Basic (Declaration)
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class WindowsAuthenticationModule _
	Implements IHttpModule
Visual Basic (Usage)
Dim instance As WindowsAuthenticationModule
C#
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class WindowsAuthenticationModule : IHttpModule
Visual C++
[AspNetHostingPermissionAttribute(SecurityAction::LinkDemand, Level = AspNetHostingPermissionLevel::Minimal)]
public ref class WindowsAuthenticationModule sealed : IHttpModule
JScript
public final class WindowsAuthenticationModule implements IHttpModule
Remarks

When the authentication Mode is set to Windows, the WindowsAuthenticationModule sets the User property of the current HttpContext to an IPrincipal object that represents the Windows identity supplied by IIS for the current request. If IIS uses anonymous authentication, then the WindowsAuthenticationModule uses the identity returned by the GetAnonymous method.

The WindowsAuthenticationModule exposes an Authenticate event that enables you to provide a custom IPrincipal object for the User property of the current HttpContext. The Authenticate event is accessed by specifying a subroutine named WindowsAuthentication_OnAuthenticate in the Global.asax file for your ASP.NET application.

Note Note:

In IIS 7.0, using the WindowsAuthenticationModule class with the FormsAuthenticationModule class is not supported. For more information about compatibility issues in Integrated mode, see Upgrading ASP.NET Applications to IIS 7.0: Differences between IIS 7.0 Integrated Mode and Classic mode.

Examples

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

Visual Basic
Public Sub WindowsAuthentication_OnAuthenticate(sender As Object, args As WindowsAuthenticationEventArgs)
  If Not args.Identity.IsAnonymous Then
    args.User = New Samples.AspNet.Security.MyPrincipal(args.Identity)
  End If
End Sub


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


.NET Framework Security

Inheritance Hierarchy

System.Object
  System.Web.Security.WindowsAuthenticationModule
Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Platforms

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0
See Also

Reference

Other Resources