Udostępnij za pośrednictwem


AuthenticationService.CreatingCookie Zdarzenie

Definicja

Występuje, gdy plik cookie uwierzytelniania jest ustawiany.

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) 

Typ zdarzenia

Przykłady

W poniższym przykładzie pokazano, jak powiązać procedurę obsługi CreatingCookie zdarzeń ze zdarzeniem w Application_Start metodzie pliku 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

Poniższy przykład przedstawia procedurę obsługi zdarzeń dla CreatingCookie zdarzenia w pliku Global.asax. Procedura obsługi zdarzeń dostosowuje plik cookie uwierzytelniania przez dodanie wartości we CustomCredential właściwości do UserData właściwości. CustomCredential Zapisz właściwość w pliku cookie tylko wtedy, gdy wiadomo, że dane we właściwości nie są poufne. Złośliwi użytkownicy mogą uzyskiwać dostęp do wartości w pliku cookie.

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

Uwagi

Zdarzenie CreatingCookie jest wywoływane, gdy plik cookie uwierzytelniania jest ustawiany po zweryfikowaniu poświadczeń użytkownika. Utwórz procedurę obsługi zdarzeń CreatingCookie dla zdarzenia, aby dostosować plik cookie uwierzytelniania.

Dotyczy

Zobacz też