다음을 통해 공유


Login.OnAuthenticate(AuthenticateEventArgs) 메서드

정의

사용자를 인증하기 위해 Authenticate 이벤트를 발생시킵니다.

protected:
 virtual void OnAuthenticate(System::Web::UI::WebControls::AuthenticateEventArgs ^ e);
protected virtual void OnAuthenticate (System.Web.UI.WebControls.AuthenticateEventArgs e);
abstract member OnAuthenticate : System.Web.UI.WebControls.AuthenticateEventArgs -> unit
override this.OnAuthenticate : System.Web.UI.WebControls.AuthenticateEventArgs -> unit
Protected Overridable Sub OnAuthenticate (e As AuthenticateEventArgs)

매개 변수

e
AuthenticateEventArgs

이벤트 데이터가 포함된 AuthenticateEventArgs입니다.

예제

다음 코드 예제에서는 이벤트를 사용하여 Authenticate 사이트별 사용자 지정 인증 코드를 호출합니다.

<%@ page language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    // This custom login control overloads the OnAuthenticate method
    // to call a site-specific authentication method.    
    class CustomLogin : Login
    {
        private bool SiteSpecificAuthenticationMethod(string UserName, string Password)
        {
            // Insert code that implements a site-specific custom 
            // authentication method here.
            //
            // This example implementation always returns false.
            return false;
        }
        
        override protected void OnAuthenticate(AuthenticateEventArgs e)
        {
            bool Authenticated = false;
            Authenticated = SiteSpecificAuthenticationMethod(UserName, Password);

            e.Authenticated = Authenticated;
        }
    }
    
    // Add the custom login control to the page.
    void Page_Load(object sender, EventArgs e) 
    {
        CustomLogin loginControl = new CustomLogin();
        loginControl.ID = "loginControl";
        Placeholder1.Controls.Add(loginControl);
    }

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
        <form id="form1" runat="server">
            <asp:placeholder id="Placeholder1" runat="server"></asp:placeholder>
        </form>
    </body>
</html>
<%@ page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
    ' This custom login control overloads the OnAuthenticate method
    ' to call a site-specific authentication method.
    Class CustomLogin
        Inherits Login
        
        Private Function SiteSpecificAuthenticationMethod(ByVal UserName As String, ByVal Password As String) As Boolean
            ' Insert code that implements a site-specific custom 
            ' authentication method here.
            '
            ' This example implementation always returns false.
            Return False
        End Function
    
        Overloads Sub OnAuthenticate(ByVal e As AuthenticateEventArgs)
            Dim Authenticated As Boolean
            Authenticated = SiteSpecificAuthenticationMethod(UserName, Password)

            e.Authenticated = Authenticated
        End Sub
    End Class
    
    ' Add the custom login control to the page.
    Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        Dim loginControl As New CustomLogin

        loginControl.ID = "loginControl"

        PlaceHolder1.Controls.Add(loginControl)
    End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
    <asp:placeholder id="PlaceHolder1" runat="server"></asp:placeholder>

</form>
</body>
</html>

설명

OnAuthenticate 메서드는 Authenticate 이벤트를 발생시킵니다. Authenticate 이벤트를 사용하여 사용자 지정 인증 체계를 구현합니다.

이벤트가 발생하면 대리자를 통해 이벤트 처리기가 호출됩니다. 자세한 내용은 이벤트 처리 및 발생합니다.

또한 OnAuthenticate 메서드를 사용하면 파생 클래스가 대리자를 연결하지 않고도 이벤트를 처리할 수 있습니다. 이는 파생 클래스에서 이벤트를 처리하는 기본 방법입니다.

상속자 참고

파생 클래스에서 OnAuthenticate(AuthenticateEventArgs)를 재정의하는 경우 등록된 대리자가 이벤트를 받도록 기본 클래스의 OnAuthenticate(AuthenticateEventArgs) 메서드를 호출해야 합니다.

적용 대상

추가 정보