Share via


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 HttpContext örneğin nullözelliğinin olup olmadığını User test etmek için DefaultAuthentication_OnAuthenticate olayını kullanır. User özelliği isenull, örnek geçerli HttpContext örneğin GenericPrincipal özelliğini nesnesinin değeri "default" olan IdentityGenericPrincipal bir GenericIdentityName nesne olarak ayarlarUser.

Not

DefaultAuthentication_OnAuthenticate olayı olaydan önce AuthorizeRequest oluşturulur. Sonuç olarak, geçerli HttpContext örneğin ö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 yalnızca kimliği doğrulanmış kullanıcıların sitenize erişimi olduğundan emin olmak için yetkilendirme yapılandırması bölümünde belirtirseniz<deny users="?" />, kullanıcının adı "varsayılan" olduğundan 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 HttpContext örneğin özelliğinin User bir IPrincipal nesneyle doldurulmasını sağlamak için kullanılır.

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

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

DefaultAuthentication_OnAuthenticate olayı olaydan AuthenticateRequest sonra ve olaydan önce AuthorizeRequest oluşturulur. Uygulamanızı reddetmek veya uygulamaya erişim izni vermek için kullanıcı adına bağlı bir authorization bölümünüz varsa, geçerli HttpContext örneğin özelliğini değiştirmek User uygulamanızın davranışını etkileyebilir. yapılandırmanızda yetkilendirme bölümünü belirttiğinizde, DefaultAuthentication_OnAuthenticate olayı sırasında ayarladığınız kullanıcı adının dikkate alındığını unutmayın.

Not

Web uygulaması TÜMLEŞIK modda IIS 7.0'da çalışıyorsa, Authenticate olayı DefaultAuthenticationModule tetiklenmez. modeKimlik 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.