DefaultAuthenticationModule.Authenticate Olay
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İ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şebildiğinden emin olmak için yetkilendirme yapılandırması bölümünde belirtirseniz<deny users="?" />
, kullanıcının adı "varsayılan" 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 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 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 ö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ığından emin olun.
Not
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 örneğin olayına AuthenticateRequestHttpApplication 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.