Forms kimlik doğrulaması kullanmak için Visual Basic. NET'i kullanarak anahtarlarını oluşturma hakkında

Makale çevirileri Makale çevirileri
Makale numarası: 313091 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede, şifreleme şifre çözme ve Forms kimlik doğrulama tanımlama bilgisi verileri doğrulamak için kullanılacak tuşlar nasıl oluşturulacağını açıklar. ValidationKey ve <machinekey>bölümünde <a1>ısolateapps</a1> öznitelikleri için bu makaledeki oluşturduğunuz tuşlarını kullanabilirsiniz<system.web> öğe Machine.config ve Web.config dosyaları.

Gereksinimler

Aşağıdaki listede, gereksinim duyacağınız donanım, yazılım, ağ altyapısı ve hizmet paketleri önerilmektedir:
  • Microsoft Windows 2000 veya Microsoft Windows XP
  • Microsoft .NET framework
  • Microsoft ınternet ınformation Services (IIS)

Proje oluşturma

  1. Microsoft Visual Studio .NET'i başlatın.
  2. Dosya menüsünden Yeni ' nin üzerine gelin ve sonra Project ' i tıklatın.
  3. Project Types alanında, Visual Basic Projeleri) tıklatın.
  4. Şablonları bölümünde Konsol uygulaması) tıklatın.
  5. Adı metin kutusuna, HashConfigVb yazın ve Tamam ' ı tıklatın.

Bir parola karma kodu yazma

Bu kod, komut satırına geçirilen iki bağımsız değişkeni okur:
  • Ilk bağımsız değişken ısolateapps öznitelik oluşturmak için kullanılan bayt sayısıdır.
  • Ikinci bağımsız değişken validationKey öznitelik oluşturmak için kullanılan bayt sayısıdır.
Komut satırı bağımsız değişkenleri hakkında temel bayt rasgele bir sayı oluşturmak için bir rasgele sayı üretici kodunu kullanır. Rasgele bayt oluşturduktan sonra byte, .config dosyalarında kullanmak için uygun bir onaltılık dize olarak biçimlendirilir.

Not Oluşturulan onaltılık dize iki kez komut satırına geçirilen değerin boyutudur. Anahtar için 24 bayt belirtirseniz, örneğin, elde edilen 48 bayt uzunluğunda dönüştürme işleminden sonra dizedir. ısolateapps için geçerli değerler, 8 veya 24. Bu veri şifrelemesi için 16 baytlık bir anahtar oluşturur standardı (DES) veya bir 48 bayt anahtar için Üçlü DES, sırasıyla. Geçerli validationKey için 20 için 64 değerlerdir. Bu anahtarlar 40 ' 128 bayt uzunluğunda dönüştürme işleminden sonra oluşturur. Koddan bir tüm <machinekey>çıktıdır öğeyi kopyalayıp bir Machine.config veya Web.config dosyası yapıştırın.

  1. Visual Basic projesine KeyCreator adlı yeni bir sınıf dosyasına ekleyin.
  2. Replace the existing code in the KeyCreator.vb file with the following code:
    Imports System
    Imports System.Text
    Imports System.Security.Cryptography
    
    Namespace Crypto
      Public Class KeyCreator
    	
        Public Shared Sub CreateMachineKey()
          Dim commandLineArgs As String()
          commandLineArgs = System.Environment.GetCommandLineArgs()
    
          Dim decryptionKey As String
          decryptionKey = CreateKey(System.Convert.ToInt32(commandLineArgs(1)))
          Dim validationKey As String
          validationKey = CreateKey(System.Convert.ToInt32(commandLineArgs(2)))
    
          Console.WriteLine("<machineKey validationKey=""{0}"" decryptionKey=""{1}"" validation=""SHA1""/>", _
          validationKey, decryptionKey)
         End Sub
    
         Public Shared Function CreateKey(numBytes As Integer) As String
           Dim rng As RNGCryptoServiceProvider = New RNGCryptoServiceProvider()
           Dim buff(numBytes -1) As Byte
    
           rng.GetBytes(buff)
    				
           Return BytesToHexString(buff)
         End Function
     
         Public Shared Function BytesToHexString(bytes As Byte()) As String
           Dim hexString As StringBuilder = New StringBuilder(64)
           Dim counter as Integer
    
           For counter = 0 To bytes.Length - 1
             hexString.Append(String.Format("{0:X2}", bytes(counter)))
           Next
    
           Return hexString.ToString()
        End Function
    
      End Class
    End Namespace
    					
  3. Varsayılan olarak oluşturulur Module1.vb dosyasını açın ve sonra da ana alt yordamına aşağıdaki kodu ekleyin:
        Dim MyKeyCreator As New Crypto.KeyCreator()
        MyKeyCreator.CreateMachineKey()
    					
  4. Uygulamayı oluşturun.

Karma değerlerini oluşturma

Uygulamayı bir komut isteminden çalıştırın ve sonra da şifre çözme ve doğrulama anahtarları boyutunu olan iki tamsayı değerleri geçirmek. Konsol uygulaması HashConfigVb.exe adlı, depo gözünde bulunan komut isteminde aşağıdaki sözdizimini yazın uygulama dizin:
HashConfigVb.exe 24 64
Uygulamayı aşağıdaki çıktıyı benzer bir çıktı döndürmesi gerekir:
<machineKey validationKey="08CE6B478DCE73..........E566D8AC5D1C045BA60"
            decryptionKey="4252D6B2268.........67F451CE65D0F2ABE9BCD3A"
            validation="SHA1"/>
					
Not Çıkış kodu için bir Rastgele sayı oluşturucu kullandığından, her zaman farklıdır.

Yapılandırma dosyasını Güncelleştir

  1. Machine.config veya Web.config dosyası.
  2. <System.web> bölüm yapılandırma dosyasında bulun.
  3. Konsol uygulaması çıktısı <machinekey>bölümü değiştirin. <machinekey>Bölümü yoksa, oluşturun.
  4. Yapılandırma dosyası olarak kaydedin.
  5. Machine.config değişikliklerin etkili olması <a1>Web</a1> grubundaki tüm sunucularda, ııS'YI yeniden başlatın.

SORUN GİDERME

<machinekey>Bölümü tuşlarını, aynı, açık olduğundan emin olun (yani, kullanmadığıÖzniteliklerin <machinekey>bölümünde AutoGenerate seçeneği) aşağıdaki senaryolarda Web grubu üzerinden:
  • Forms kimlik doğrulaması kullandığınızda.
  • Oturum durumu StateServer modunda çalıştırdığınızda.
  • ViewState enableViewStateMAC özniteliği true olarak varsayılan olarak ayarlandığı için bir Web grubu kullanılabilir olmasını istediğinizde.

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
308157Form tabanlı kimlik doğrulamasını ASP.NET uygulamanız Visual Basic. NET'i kullanarak nasıl
306238Rol tabanlı güvenlik form tabanlı kimlik doğrulaması ile ASP.NET uygulamanız Visual Basic. NET'i kullanarak nasıl
306590BILGI: ASP.NET güvenliğine genel bakış
307626BILGI: ASP.NET yapılandırmasına genel bakış

Özellikler

Makale numarası: 313091 - Last Review: 29 Ekim 2007 Pazartesi - Gözden geçirme: 3.10
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
Anahtar Kelimeler: 
kbmt kbproductlink kbconfig kbhowtomaster kbsecurity kbstate KB313091 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:313091

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com