Aracılığıyla paylaş


FormsAuthenticationEventHandler Temsilci

Tanım

bir öğesinin FormsAuthentication_OnAuthenticate olayını FormsAuthenticationModuleişleyen yöntemi temsil eder.

public delegate void FormsAuthenticationEventHandler(System::Object ^ sender, FormsAuthenticationEventArgs ^ e);
public delegate void FormsAuthenticationEventHandler(object sender, FormsAuthenticationEventArgs e);
type FormsAuthenticationEventHandler = delegate of obj * FormsAuthenticationEventArgs -> unit
Public Delegate Sub FormsAuthenticationEventHandler(sender As Object, e As FormsAuthenticationEventArgs)

Parametreler

sender
Object

Olayın kaynağı.

Örnekler

Aşağıdaki kod örneği, geçerli HttpContext özelliğini özel Identitybir GenericPrincipal nesnesine ayarlamak User için FormsAuthentication_OnAuthenticate olayını kullanır.

public void FormsAuthentication_OnAuthenticate(object sender, FormsAuthenticationEventArgs args)
{
  if (FormsAuthentication.CookiesSupported)
  {
    if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
    {
      try
      {
        FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(
          Request.Cookies[FormsAuthentication.FormsCookieName].Value);
        
        args.User = new System.Security.Principal.GenericPrincipal(
          new Samples.AspNet.Security.MyFormsIdentity(ticket),
          new string[0]);
      }
      catch (Exception e)
      {
        // Decrypt method failed.
      }
    }
  }
  else
  {
    throw new HttpException("Cookieless Forms Authentication is not " +
                            "supported for this application.");
  }
}
Public Sub FormsAuthentication_OnAuthenticate(sender As Object, _
                                              args As FormsAuthenticationEventArgs)
  If FormsAuthentication.CookiesSupported Then
    If Not Request.Cookies(FormsAuthentication.FormsCookieName) Is Nothing Then
      Try
        Dim ticket As FormsAuthenticationTicket = FormsAuthentication.Decrypt( _
          Request.Cookies(FormsAuthentication.FormsCookieName).Value)
        
        args.User = New System.Security.Principal.GenericPrincipal( _
          New Samples.AspNet.Security.MyFormsIdentity(ticket), _
          New String(0) {})
      Catch e As HttpException
        ' Decrypt method failed.
      End Try
    End If
  Else
      Throw New Exception("Cookieless Forms Authentication is not " & _
                            "supported for this application.")
  End If
End Sub

Açıklamalar

Temsilci FormsAuthenticationEventHandler , sınıfın Authenticate olayı FormsAuthenticationModule için tanımlanır. ASP.NET uygulamanız için Global.asax dosyasında FormsAuthentication_OnAuthenticate adlı bir alt yordam belirterek sınıfının olayına FormsAuthenticationModule erişebilirsinizAuthenticate. Olay Authenticate , olay sırasında AuthenticateRequest oluşturulur.

, FormsAuthenticationModule geçerli HttpContext kullanarak bir FormsAuthenticationEventArgs nesnesi oluşturur ve FormsAuthentication_OnAuthenticate olayına geçirir.

geçerli HttpContext özelliğini FormsAuthenticationEventArgs özel IPrincipal bir nesne olarak ayarlamak User için FormsAuthentication_OnAuthenticate olayına sağlanan nesnenin özelliğini kullanabilirsinizUser. FormsAuthentication_OnAuthenticate olayı sırasında özelliği için User bir değer belirtmezseniz, tanımlama bilgisinde veya URL'de forms kimlik doğrulama bileti tarafından sağlanan kimlik kullanılır.

FormsAuthentication_OnAuthenticate olayı yalnızca kimlik doğrulaması Mode olarak ayarlandığında Forms ve FormsAuthenticationModule uygulama için etkin bir HTTP modülü olduğunda oluşturulur.

Uzantı Metotları

GetMethodInfo(Delegate)

Belirtilen temsilci tarafından temsil edilen yöntemi temsil eden bir nesnesi alır.

Şunlara uygulanır

Ayrıca bkz.