WindowsAuthenticationModule.Authenticate 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
应用程序对当前请求进行身份验证时发生。
public:
event System::Web::Security::WindowsAuthenticationEventHandler ^ Authenticate;
public event System.Web.Security.WindowsAuthenticationEventHandler Authenticate;
member this.Authenticate : System.Web.Security.WindowsAuthenticationEventHandler
Public Custom Event Authenticate As WindowsAuthenticationEventHandler
事件类型
示例
下面的代码示例使用 WindowsAuthentication_OnAuthenticate 事件将当前 HttpContext 的 属性设置为User自定义IPrincipal对象。
public void WindowsAuthentication_OnAuthenticate(object sender, WindowsAuthenticationEventArgs args)
{
if (!args.Identity.IsAnonymous)
{
args.User = new Samples.AspNet.Security.MyPrincipal(args.Identity);
}
}
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
注解
事件 Authenticate 在 事件期间 AuthenticateRequest 引发。
可以通过在 Authenticate global.asax 文件中为 ASP.NET 应用程序指定名为 WindowsAuthentication_OnAuthenticate 的子例程来访问 类的 事件WindowsAuthenticationModule。
可以使用User提供给 WindowsAuthentication_OnAuthenticate 事件的 对象的 属性WindowsAuthenticationEventArgs将当前 HttpContext 的 属性设置为User自定义IPrincipal对象。 如果在WindowsAuthentication_OnAuthenticate事件期间未指定 User 属性的值,IIS 提供的 Windows 标识将用作当前请求的标识。 如果 IIS 使用匿名身份验证,则 属性 Identity 设置为 方法返回的 GetAnonymous 标识。
仅当身份验证Mode设置为 Windows 并且 是应用程序的活动 HTTP 模块时,WindowsAuthenticationModule才会引发 WindowsAuthentication_OnAuthenticate 事件。
注意
在集成模式下运行的 IIS 7.0 中,Authenticate启用 ASP.NET WindowsAuthenticationModule 和 IIS AnonymousAuthenticationModule
模块时,不会引发 的 事件WindowsAuthenticationModule。 在此方案中,若要接收身份验证通知,请 AuthenticateRequest 订阅 实例的 HttpApplication 事件。 有关集成模式下兼容性问题的详细信息,请参阅 将 ASP.NET 应用程序从 IIS 6.0 移动到 IIS 7.0。