DefaultAuthenticationEventHandler Temsilci

Tanım

bir öğesinin DefaultAuthentication_OnAuthenticate olayını DefaultAuthenticationModuleişleyen yöntemi temsil eder.

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

Parametreler

sender
Object

Olayın kaynağı.

Örnekler

Aşağıdaki kod örneği, geçerli HttpContextnullözelliğinin olup olmadığını User test etmek için DefaultAuthentication_OnAuthenticate olayını kullanır. özelliği isenull, örnek geçerli HttpContext özelliğini bir GenericPrincipal nesneye ayarlar User ve burada Identity nesnesinin GenericPrincipal değeri "default" olan bir GenericIdentityName olur.

Not

DefaultAuthentication_OnAuthenticate olayı olaydan önce AuthorizeRequest oluşturulur. Sonuç olarak, geçerli HttpContext özelliğini özel bir kimliğe ayarlarsanızUser, uygulamanızın davranışını etkileyebilir. Örneğin, sınıfını kullanıyorsanız FormsAuthentication ve bölümünü kullanarak authorization ve belirterek <deny users="?" />yalnızca kimliği doğrulanmış kullanıcıların sitenize erişimi olduğundan emin oluyorsanız, kullanıcının adı "varsayılan" olacağı için bu örnek öğenin yoksayılmasını sağlar deny . Bunun yerine yalnızca kimliği doğrulanmış kullanıcıların sitenize erişebildiğinden emin olmak için belirtmeniz gerekir <deny users="default" /> .

public void DefaultAuthentication_OnAuthenticate(object sender,
                                                 DefaultAuthenticationEventArgs args)
{
  if (args.Context.User == null)
    args.Context.User = 
      new System.Security.Principal.GenericPrincipal(
        new System.Security.Principal.GenericIdentity("default"),
        new String[0]);
}
Public Sub DefaultAuthentication_OnAuthenticate(sender As Object, _
                                                args As DefaultAuthenticationEventArgs)
  If args.Context.User Is Nothing Then
    args.Context.User = _
      new System.Security.Principal.GenericPrincipal( _
        new System.Security.Principal.GenericIdentity("default"), _
        new String(0) {})
  End If
End Sub

Açıklamalar

Temsilci DefaultAuthenticationEventHandler , sınıfın Authenticate olayı DefaultAuthenticationModule için tanımlanır. ASP.NET uygulamanız için Global.asax dosyasında DefaultAuthentication_OnAuthenticate adlı bir alt yordam belirterek sınıfının olayına DefaultAuthenticationModule erişebilirsinizAuthenticate. Olay Authenticate olaydan AuthenticateRequest sonra oluşturulur ve geçerli HttpContext özelliğinin bir IPrincipal nesneyle doldurulmasını sağlamak User için kullanılır.

geçerli HttpContext özelliğini DefaultAuthenticationEventArgs özel IPrincipal bir nesne olarak ayarlamak User için DefaultAuthentication_OnAuthenticate olayına sağlanan nesnenin özelliğini kullanabilirsinizContext. DefaultAuthentication_OnAuthenticate olayı sırasında sağlanan özelliğinin HttpContext bir değerini User belirtmezseniz, DefaultAuthenticationModule özelliği HttpContext kullanıcı bilgisi içermeyen bir GenericPrincipal nesneye ayarlarUser.

DefaultAuthentication_OnAuthenticate olayı olaydan AuthenticateRequest sonra ve olaydan önce AuthorizeRequest oluşturulur. Uygulamanıza erişimi reddetmek veya erişime izin vermek için kullanıcı adına bağlı bir authorization bölümünüz varsa, geçerli HttpContext özelliğini değiştirmek User uygulamanızın davranışını etkileyebilir. yapılandırmanızda bölümü belirtirken , DefaultAuthentication_OnAuthenticate olayı sırasında ayarladığınız kullanıcı adının dikkate alındığından authorization emin olun.

Uzantı Metotları

GetMethodInfo(Delegate)

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

Şunlara uygulanır