共用方式為


WindowsAuthenticationModule.Authenticate 事件

定義

在應用程式驗證目前要求時發生。

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 引發。

您可以在 ASP.NET 應用程式的 Global.asax 檔案中指定名為 WindowsAuthentication_OnAuthenticate 的子程式,以存取 AuthenticateWindowsAuthenticationModule 類別的事件。

您可以使用User提供給 WindowsAuthentication_OnAuthenticate 事件之 WindowsAuthenticationEventArgs 物件的 屬性,將目前 HttpContext 的屬性設定User為自定義IPrincipal物件。 如果您在WindowsAuthentication_OnAuthenticate事件期間未指定 屬性的值User,IIS 所提供的 Windows 身分識別會當做目前要求的身分識別使用。 如果 IIS 使用匿名驗證,則 Identity 屬性會設定為 方法所傳回的 GetAnonymous 身分識別。

只有當驗證Mode設定為 Windows ,而且 WindowsAuthenticationModule 是應用程式的使用中 HTTP 模組時,才會引發WindowsAuthentication_OnAuthenticate事件。

注意

在以整合模式執行的 IIS 7.0 中,Authenticate啟用 ASP.NET WindowsAuthenticationModule 和 IIS AnonymousAuthenticationModule 模組時,不會引發的事件WindowsAuthenticationModule。 在此案例中,若要接收驗證通知,請訂閱 AuthenticateRequest 實例的事件 HttpApplication 。 如需整合模式中相容性問題的詳細資訊,請參閱 將 ASP.NET 應用程式從 IIS 6.0 移至 IIS 7.0

適用於

另請參閱