다음을 통해 공유


AuthenticationService.CreatingCookie 이벤트

정의

인증 쿠키가 설정될 때 발생합니다.

public:
 static event EventHandler<System::Web::ApplicationServices::CreatingCookieEventArgs ^> ^ CreatingCookie;
public static event EventHandler<System.Web.ApplicationServices.CreatingCookieEventArgs> CreatingCookie;
member this.CreatingCookie : EventHandler<System.Web.ApplicationServices.CreatingCookieEventArgs> 
Public Shared Custom Event CreatingCookie As EventHandler(Of CreatingCookieEventArgs) 

이벤트 유형

예제

다음 예제에서는 이벤트 처리기를 바인딩하는 방법을 보여 줍니다 합니다 CreatingCookie 이벤트에는 Application_Start Global.asax 파일의 메서드.

void Application_Start(object sender, EventArgs e)
{
    System.Web.ApplicationServices.AuthenticationService.CreatingCookie 
        += new EventHandler<System.Web.ApplicationServices.CreatingCookieEventArgs>
        (AuthenticationService_CreatingCookie);
}
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
    AddHandler System.Web.ApplicationServices.AuthenticationService.CreatingCookie, _
        AddressOf Me.AuthenticationService_CreatingCookie
End Sub

다음 예제에서는 이벤트 처리기는 CreatingCookie Global.asax 파일에는 이벤트입니다. 이벤트 처리기에서 값을 추가 하 여 인증 쿠키를 사용자 지정 된 CustomCredential 속성을는 UserData 속성입니다. 저장소는 CustomCredential 속성의 데이터가 중요 하지 않다는 것이 알고 있는 경우에 쿠키의 속성입니다. 악의적인 사용자는 쿠키의 값을 액세스할 수 있습니다.

void AuthenticationService_CreatingCookie(object sender, 
    System.Web.ApplicationServices.CreatingCookieEventArgs e)
{
    FormsAuthenticationTicket ticket = new
          FormsAuthenticationTicket
            (1,
             e.UserName,
             DateTime.Now,
             DateTime.Now.AddMinutes(30),
             e.IsPersistent,
             e.CustomCredential,
             FormsAuthentication.FormsCookiePath);

    string encryptedTicket =
         FormsAuthentication.Encrypt(ticket);

    HttpCookie cookie = new HttpCookie
         (FormsAuthentication.FormsCookieName,
          encryptedTicket);
    cookie.Expires = DateTime.Now.AddMinutes(30);

    HttpContext.Current.Response.Cookies.Add(cookie);
    e.CookieIsSet = true;
}
Sub AuthenticationService_CreatingCookie(ByVal sender As Object, _
                 ByVal e As System.Web.ApplicationServices.CreatingCookieEventArgs)
    Dim ticket As FormsAuthenticationTicket = New _
       FormsAuthenticationTicket _
        (1, _
         e.Username, _
         DateTime.Now, _
         DateTime.Now.AddMinutes(30), _
         e.IsPersistent, _
         e.CustomCredential, _
         FormsAuthentication.FormsCookiePath)
        
    Dim encryptedTicket As String = FormsAuthentication.Encrypt(ticket)
    
    Dim cookie As HttpCookie = New _
        HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket)
    cookie.Expires = DateTime.Now.AddMinutes(30)
    
    HttpContext.Current.Response.Cookies.Add(cookie)
    e.CookieIsSet = True
End Sub

설명

CreatingCookie 사용자 자격 증명이 확인 되 면 인증 쿠키가 설정 될 때 이벤트가 발생 합니다. 에 대 한 이벤트 처리기 만들기는 CreatingCookie 인증 쿠키를 사용자 지정 하는 이벤트입니다.

적용 대상

추가 정보