Aracılığıyla paylaş


Nasıl yapılır: WindowsPrincipal Nesnesi Oluşturma

Not

Bu makale Windows için geçerlidir.

ASP.NET Core hakkında bilgi için bkz . ASP.NET Core Security.

Kodun rol tabanlı doğrulamayı tekrar tekrar gerçekleştirmesi veya yalnızca bir WindowsPrincipal kez gerçekleştirmesi gerekip gerekmediğine bağlı olarak nesne oluşturmanın iki yolu vardır.

Kodun rol tabanlı doğrulamayı tekrar tekrar gerçekleştirmesi gerekiyorsa, aşağıdaki yordamlardan ilki daha az ek yük oluşturur. Kodun rol tabanlı doğrulamaları yalnızca bir kez yapması gerektiğinde, aşağıdaki yordamların ikincisini kullanarak bir WindowsPrincipal nesne oluşturabilirsiniz.

Yinelenen doğrulama için Bir WindowsPrincipal nesnesi oluşturmak için

  1. SetPrincipalPolicy statik özelliği tarafından AppDomain.CurrentDomain döndürülen nesnede AppDomain yöntemini çağırın ve yöntemine yeni ilkenin ne olması gerektiğini belirten bir PrincipalPolicy numaralandırma değeri geçirin. Desteklenen değerler , UnauthenticatedPrincipalve WindowsPrincipaldeğerleridirNoPrincipal. Aşağıdaki kod bu yöntem çağrısını gösterir.

    AppDomain.CurrentDomain.SetPrincipalPolicy(  
        PrincipalPolicy.WindowsPrincipal);  
    
    AppDomain.CurrentDomain.SetPrincipalPolicy( _  
        PrincipalPolicy.WindowsPrincipal)  
    
  2. İlke kümesiyle Thread.CurrentPrincipal statik özelliğini kullanarak geçerli Windows kullanıcısını kapsülleyen sorumluyu alın. Özellik dönüş türü olduğundan IPrincipal, sonucu bir WindowsPrincipal türe atamanız gerekir. Aşağıdaki kod, geçerli iş parçacığıyla ilişkili sorumlunun değerine yeni WindowsPrincipal bir nesne başlatır.

    WindowsPrincipal myPrincipal =
        (WindowsPrincipal) Thread.CurrentPrincipal;  
    
    Dim myPrincipal As WindowsPrincipal = _  
        CType(Thread.CurrentPrincipal, WindowsPrincipal)
    
  3. Asıl nesne oluşturulduğunda, doğrulamak için çeşitli yöntemlerden birini kullanabilirsiniz.

Tek bir doğrulama için WindowsPrincipal nesnesi oluşturmak için

  1. Geçerli Windows hesabını sorgulayan ve bu hesapla ilgili bilgileri yeni oluşturulan kimlik nesnesine yerleştiren statik WindowsIdentity.GetCurrent yöntemi çağırarak yeni WindowsIdentity bir nesne başlatın. Aşağıdaki kod yeni WindowsIdentity bir nesne oluşturur ve geçerli kimliği doğrulanmış kullanıcıya başlatır.

    WindowsIdentity myIdentity = WindowsIdentity.GetCurrent();  
    
    Dim myIdentity As WindowsIdentity = WindowsIdentity.GetCurrent()  
    
  2. Yeni WindowsPrincipal bir nesne oluşturun ve önceki adımda oluşturulan nesnenin WindowsIdentity değerini geçirin.

    WindowsPrincipal myPrincipal = new WindowsPrincipal(myIdentity);  
    
    Dim myPrincipal As New WindowsPrincipal(myIdentity)  
    
  3. Asıl nesne oluşturulduğunda, doğrulamak için çeşitli yöntemlerden birini kullanabilirsiniz.

Ayrıca bkz.