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 引發。
您可以在 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。