DefaultAuthenticationModule.Authenticate Olay

Tanım

İsteğin kimliği doğrulandıktan sonra gerçekleşir.

public:
 event System::Web::Security::DefaultAuthenticationEventHandler ^ Authenticate;
public event System.Web.Security.DefaultAuthenticationEventHandler Authenticate;
member this.Authenticate : System.Web.Security.DefaultAuthenticationEventHandler 
Public Custom Event Authenticate As DefaultAuthenticationEventHandler 

Olay Türü

Örnekler

Aşağıdaki kod örneği, geçerli örneğin Userözelliğinin olup olmadığını HttpContext test etmek için null olayını kullanır. özelliği ise, örnek geçerli User örneğin null özelliğini nesnenin UserHttpContext "default" değerine sahip olduğu bir GenericPrincipalIdentity nesne olarak ayarlarGenericPrincipal.GenericIdentityName

Note

DefaultAuthentication_OnAuthenticate olayı, olaydan önce AuthorizeRequest oluşturulur. Sonuç olarak, geçerli User örneğin özelliğini özel bir kimliğe ayarlarsanızHttpContext, uygulamanızın davranışını etkileyebilir. Örneğin, sınıfını FormsAuthentication kullanıyorsanız ve yalnızca kimliği doğrulanmış kullanıcıların sitenize erişimi olduğundan emin olmak için <deny users="?" /> yapılandırması bölümünde belirtirseniz, kullanıcı "varsayılan" adlı bir ada sahip olacağı için bu örnek reddetme öğesinin yoksayılmasını sağlar. 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

Olay Authenticate , olaydan sonra AuthenticateRequest oluşturulur. Geçerli User örneğin özelliğinin HttpContext bir IPrincipal nesneyle doldurulmasını sağlamak için kullanılır.

Uygulamanın Global.asax dosyasında Authenticate adlı bir alt yordam belirterek sınıfının olayına DefaultAuthenticationModule erişebilirsiniz.

Geçerli örneğin özelliğini Context özel DefaultAuthenticationEventArgs bir nesne olarak ayarlamak için User olayında nesnesinin özelliğini kullanabilirsinizHttpContext.IPrincipal özelliği için User bir değer belirtmezseniz, DefaultAuthenticationModule örneği özelliğini User kullanıcı bilgisi içermeyen bir HttpContext nesneye ayarlarGenericPrincipal.

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 User örneğin özelliğini değiştirmek HttpContext uygulamanızın davranışını etkileyebilir. yapılandırmanızdayetkilendirme bölümünü belirtirken DefaultAuthentication_OnAuthenticate olayı sırasında ayarladığınız kullanıcı adının dikkate alındığından emin olun.

Note

Web uygulaması TÜMLEŞIK modda IIS 7.0'da çalışıyorsa, Authenticate olayı DefaultAuthenticationModule tetiklenmez. mode Kimlik doğrulama yapılandırma öğesinin özniteliği "Yok" olarak ayarlanırsa ve uygulama olaya abone Authenticate olursa bir PlatformNotSupportedException hata oluşur. Bu senaryoda, kimlik doğrulama bildirimi almak için AuthenticateRequest örneğin olayına HttpApplication abone olun. Tümleşik modda uyumluluk sorunları hakkında daha fazla bilgi için bkz. ASP.NET Uygulamasını IIS 6.0'dan IIS 7.0'a taşıma.

Şunlara uygulanır

Ayrıca bkz.