Cara membuat tombol dengan menggunakan Visual Basic.NET untuk digunakan dalam bentuk-bentuk otentikasi

PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.

Klik disini untuk melihat versi Inggris dari artikel ini:313091
Untuk Microsoft Visual C#.NET versi ini Pasal, lihat 312906.

Artikel ini merujuk untuk Microsoft berikut.NET Framework kelas perpustakaan namespaces:
  • System.text
  • System.Security.cryptography

DALAM TUGAS INI

RINGKASAN
Artikel ini menjelaskan cara membuat tombol untuk menggunakan untuk enkripsi, dekripsi, dan validasi data cookie bentuk otentikasi. Anda dapat menggunakan tombol yang Anda buat dalam artikel ini untuk validationKey dan decryptionKey atribut <machinekey>bagian di<b00> </b00> </machinekey><system.web></system.web> unsur dalam Machine.config elemen dari dan Web.config file.

Persyaratan

Daftar berikut menguraikan fitur perangkat keras, perangkat lunak, jaringan infrastruktur, dan paket layanan yang Anda butuhkan:
  • Microsoft Windows 2000 atau Microsoft Windows XP
  • Microsoft.NET Framework
  • Microsoft Internet Information Services (IIS)

Membuat proyek

  1. Mulai Microsoft Visual Studio.NET.
  2. Pada Berkas menu, titik Baru, lalu klik Project.
  3. Dalam Jenis proyek daerah, klik Proyek-proyek Visual Basic.
  4. Dalam Pola acu daerah, klik Aplikasi konsol.
  5. Dalam Nama kotak teks, ketik HashConfigVb, dan kemudian Klik Oke.

Menulis kode untuk password hash

Kode dalam bagian ini membaca dua argumen yang lulus dari baris perintah:
  • Argumen pertama adalah jumlah byte yang digunakan untuk membuat decryptionKey atribut.
  • Argumen kedua adalah jumlah byte yang digunakan untuk membuat validationKey atribut.
Kode menggunakan nomor acak generator untuk membuat acak jumlah byte yang didasarkan pada argumen baris perintah. Setelah byte acak dibuat, byte yang diformat dalam heksadesimal string yang cocok untuk menggunakan di file .config.

Catatan Heksadesimal string yang dibuat adalah dua kali ukuran nilai yang dilewatkan pada baris perintah. Sebagai contoh, jika Anda menentukan byte 24 Key, string yang dihasilkan adalah 48 byte panjangnya setelah konversi. The nilai yang valid untuk decryptionKey adalah 8 atau 24. Ini menciptakan kunci 16 byte untuk enkripsi Data Standar (DES) atau 48 byte kunci untuk Triple DES, masing-masing. Nilai yang valid untuk validationKey adalah 20 sampai 64. Ini menciptakan kunci dari 40 untuk 128 byte panjangnya Setelah konversi. Output dari kode adalah seluruh <machinekey></machinekey> elemen yang dapat Anda copy dan paste ke Machine.config elemen dari atau Web.config file.

  1. Menambahkan file kelas baru yang bernama KeyCreator untuk Anda Visual Basic proyek.
  2. Mengganti kode yang ada dalam file KeyCreator.vb dengan kode berikut:
    Imports SystemImports System.TextImports System.Security.CryptographyNamespace 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 ClassEnd Namespace					
  3. Buka file Module1.vb yang dibuat secara default, dan Kemudian tambahkan kode berikut dalam Utama sub rutin:
        Dim MyKeyCreator As New Crypto.KeyCreator()    MyKeyCreator.CreateMachineKey()					
  4. Membangun aplikasi.

Menghasilkan hash

Menjalankan aplikasi dari prompt perintah, dan kemudian lulus dalam dua nilai bilangan bulat yang ukuran dekripsi dan tombol validasi. Jika Anda bernama aplikasi konsol HashConfigVb.exe, ketik sintaks berikut pada prompt perintah dalam tempat sampah direktori aplikasi:
HashConfigVb.exe 24 64
Aplikasi harus mengembalikan output yang mirip output berikut:
<machineKey validationKey="08CE6B478DCE73..........E566D8AC5D1C045BA60"            decryptionKey="4252D6B2268.........67F451CE65D0F2ABE9BCD3A"            validation="SHA1"/>					
Catatan Karena kode menggunakan nomor acak generator, output adalah berbeda setiap kali.

Memperbarui file konfigurasi

  1. Cari Machine.config elemen dari atau Web.config file.
  2. Cari bagian <system.web>di konfigurasi berkas.</system.web>
  3. Mengganti bagian <machinekey>dengan output dari aplikasi konsol. Jika tidak ada bagian <machinekey>, menciptakan itu.</machinekey> </machinekey>
  4. Simpan file konfigurasi.
  5. Restart IIS pada semua server di Web peternakan untuk Machine.config elemen dari perubahan untuk mengambil efek.

Pemecahan Masalah

Pastikan bahwa bagian <machinekey>memiliki identik, kunci eksplisit (yaitu tidak menggunakan<b00> </b00> </machinekey>AutoGenerate pilihan untuk atribut di bagian <machinekey>) di Web peternakan di skenario berikut: <b00></b00> </machinekey>
  • Ketika Anda menggunakan bentuk-bentuk otentikasi.
  • Ketika Anda menjalankan sesi negara dalam modus StateServer.
  • Bila Anda ingin ViewState akan tersedia di Web peternakan karena enableViewStateMAC atribut diatur ke Benar secara default.
REFERENSI
Untuk informasi tambahan, klik nomor artikel di bawah ini untuk melihat artikel pada Basis Pengetahuan Microsoft:
308157Bagaimana menerapkan otentikasi berbasis bentuk di ASP Anda.NET aplikasi dengan menggunakan Visual Basic.NET
306238 Bagaimana menerapkan berbasis peran keamanan dengan otentikasi berbasis bentuk di ASP Anda.NET aplikasi dengan menggunakan Visual Basic.NET
306590 INFO: ASP.Ikhtisar bersih keamanan
307626 INFO: ASP.NET konfigurasi overview
webfarm lihat negara

Peringatan: Artikel ini telah diterjemahkan secara otomatis

Properti

ID Artikel: 313091 - Tinjauan Terakhir: 09/24/2011 14:42:00 - Revisi: 2.0

Microsoft ASP.NET 1.0, Microsoft Visual Basic .NET 2002 Standard Edition, Microsoft ASP.NET 1.1, Microsoft Visual Basic .NET 2003 Standard Edition

  • kbproductlink kbconfig kbhowtomaster kbsecurity kbstate kbmt KB313091 KbMtid
Tanggapan