Memahami bentuk otentikasi tiket dan Cookie

Dukungan ASP.NET suara kolom

Memahami bentuk otentikasi tiket dan Cookie

Untuk mengkustomisasi kolom ini dengan kebutuhan Anda, kami akan mengundang Anda untuk mengirimkan ide-ide Anda tentang topik yang menarik minat Anda dan masalah yang Anda ingin melihat ditangani di masa depan artikel basis pengetahuan dan kolom dukungan suara. Anda dapat mengirim ide dan umpan balik menggunakan formulir Meminta untuk itu . Ada juga tautan ke formulir di bawah kolom ini.

Pendahuluan

Selamat datang di kolom suara Microsoft ASP.NET Support! Saya Nilay B. Shah dengan tim dukungan pengembang ASP.NET. Saya telah bekerja dengan ASP.NET dukungan untuk lebih dari satu setengah tahun. Otentikasi formulir benar-benar merupakan fitur bagus otentikasi. Artikel ini mencakup beberapa masalah yang pengguna telah menemukan membingungkan dengan otentikasi formulir, seperti hubungan bentuk otentikasi tiket dan bentuk otentikasi cookie dan pengaturan yang relevan. Saya ingin terima Jerry Orman, arahan teknis untuk tim dukungan ASP.NET, untuk membantu biasa!

Orang kadang-kadang bertanya-tanya tentang bentuk otentikasi "Tiket" dan "cookie" karena mereka sama terkait. Saya telah menemukan pertanyaan seperti ini: seseorang dapat menjelaskan perbedaan antara kedaluwarsa kuki dan tiket kedaluwarsa? Ketika cookie berakhir, pengguna akan diarahkan ke halaman logon. Apa yang terjadi saat tiket tersebut kedaluwarsa? Ini juga akan cookie kedaluwarsa? Apa SlidingUpdate benar-benar memperbarui?

Saya akan fokus pada dua aspek otentikasi formulir di artikel ini menjawab pertanyaan berikut ini:
  • Apa itu bentuk otentikasi tiket dan bentuk otentikasi cookie? Bagaimana mereka terkait?
  • Apa itu peran tiket dalam bentuk otentikasi?
  • Bagaimana terkait cookie kedaluwarsa dan tiket kedaluwarsa?
  • Cara bekerja kedaluwarsa geser dalam konteks bentuk otentikasi tiket dan bentuk otentikasi cookie?
  • Mana properti batas waktu bentuk otentikasi kuki dan bentuk otentikasi tiket dapat menetapkan?
  • Masalah skenario: bentuk otentikasi mungkin waktu habis sebelum waktu habis atribut nilai yang ditetapkan di berkas konfigurasi

Apa itu bentuk otentikasi tiket dan bentuk otentikasi cookie? Bagaimana mereka terkait?

Bentuk otentikasi cookie hanyalah kontainer bentuk otentikasi Tiket. Tiket tersebut dikirimkan sebagai nilai cookie otentikasi formulir dengan setiap permintaan dan menggunakan otentikasi bentuk di server, untuk mengidentifikasi pengguna yang diotentikasi.

Namun, jika kita memilih untuk menggunakan otentikasi bentuk cookieless, tiket akan disampaikan dalam URL dalam format terenkripsi. Otentikasi formulir cookieless digunakan karena kadang-kadang browser klien memblokir kuki. Fitur ini diperkenalkan di Microsoft .NET Framework 2.0.

Untuk informasi selengkapnya, kunjungi situs Web Microsoft Developer Network (MSDN) berikut:

Apa itu peran tiket dalam bentuk otentikasi?

Bentuk otentikasi tiket digunakan untuk memberitahu aplikasi ASP.NET siapa diri Anda. Dengan demikian, tiket adalah blok bangunan otentikasi formulir keamanan.

Tiket dienkripsi dan masuk menggunakan elemen konfigurasi < machineKey > server Machine.config berkas. ASP.NET 2.0 menggunakan decryptionKey dan atribut dekripsi baru dari elemen < machineKey > untuk mengenkripsi bentuk otentikasi Tiket. Atribut dekripsi memungkinkan Anda menentukan algoritma enkripsi untuk menggunakan. ASP.NET 1.1 dan 1.0 menggunakan enkripsi 3DES, yang tidak dapat dikonfigurasi. Perusakan dengan nilai tiket ditentukan oleh kegagalan untuk mendekripsi tiket tersebut di server. Akibatnya, pengguna akan diarahkan ke halaman logon.


Jika aplikasi disebarkan di daerah Web, Anda harus memastikan bahwa berkas konfigurasi pada setiap server berbagi nilai yang sama untuk validationKey dan decryptionKey atribut dalam tag < machineKey > , yang digunakan untuk menerapkan algoritma dan dekripsi tiket masing-masing. Anda harus melakukan hal ini karena Anda tidak dapat menjamin server yang akan menangani permintaan berturut-turut. Untuk informasi lebih lanjut tentang FormsAuthenticationTicket enkripsi dan pertimbangan penyebaran Kampung Web, kunjungi website MSDN berikut:Berjalan melalui metode manual menghasilkan kunci dapat ditemukan di artikel Pangkalan Pengetahuan Microsoft berikut ini:
312906 cara membuat kunci menggunakan Visual C# .NET untuk digunakan dalam bentuk otentikasi

313091 cara membuat kunci menggunakan Visual Basic .NET untuk digunakan dalam bentuk otentikasi

Bentuk otentikasi tiket dapat dihasilkan secara manual menggunakan kelas FormsAuthenticationTicket . Untuk informasi selengkapnya, kunjungi website MSDN berikut:

Bagaimana terkait cookie kedaluwarsa dan tiket kedaluwarsa?

Dalam hal non-persistent cookie, jika tiket tersebut kedaluwarsa, kuki juga akan berakhir, dan pengguna akan dialihkan ke halaman logon. Di sisi lain, jika tiket ditandai sebagai terus-menerus, mana kuki yang disimpan di kotak klien, penjelajah dapat menggunakan cookie otentikasi yang sama untuk masuk ke situs Web saja. Namun, kita dapat menggunakan FormsAuthentication.SignOut metode untuk menghapus tetap atau non-cookie secara eksplisit.

Untuk informasi selengkapnya tentang metode FormsAuthentication.SignOut , kunjungi website MSDN berikut:Dengan otentikasi cookieless formulir, jika browser ditutup, tiket tersebut akan hilang dan tiket baru akan dibuat pada permintaan berikutnya.

Cara bekerja kedaluwarsa geser dalam konteks bentuk otentikasi tiket dan bentuk otentikasi cookie?

Geser kedaluwarsa bekerja dengan cara yang sama!

Mari kita ambil contoh: jika halaman logon diakses pukul 5:00 00:00:00 PM, akan berakhir pada 5:10 00:00:00 PM jika atribut batas 10 dan atribut slidingExpiration diatur ke TRUE. Sekarang, jika halaman Web Browse lagi di 5:05 00:00:00 PM, kuki dan periode waktu habis tiket akan direset ke 5:15 00:00:00 PM.

Catatan Jika halaman Web diakses sebelum setengah berjalannya waktu kedaluwarsa, waktu berakhirnya tiket akan tidak direset. Fore contoh, jika halaman Web manapun diakses lagi di 5:04 00:00:00 PM, kuki dan periode waktu habis tiket tidak diatur ulang.

Untuk informasi selengkapnya, kunjungi website MSDN berikut:

Mana nilai batas waktu bentuk otentikasi kuki dan bentuk otentikasi tiket dapat menetapkan?

Hanya pengaturan yang Anda dapat membuat berada dalam Web.config file atau berkas Machine.config di tag < formulir > . Perubahan ini akan menentukan periode waktu habis bentuk otentikasi dalam konteks tiket atau cookie kecuali tiket dihasilkan secara manual.

<!--forms Attributes: 
name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.
loginUrl="[url]" - Sets the URL to redirect client to for authentication.
protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.
timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).
path="/" - Sets the path for the cookie.
requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?
slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?
-->
Untuk informasi selengkapnya, kunjungi website MSDN berikut:Jika tiket tersebut akan dibuat secara manual menggunakan kelas FormsAuthenticationTicket , batas waktu dapat menetapkan melalui atribut kedaluwarsa . Nilai ini akan menimpa nilai atribut batas waktu yang ditetapkan di berkas konfigurasi.

Untuk informasi lebih lanjut tentang FormsAuthenticationTicket anggota, kunjungi website MSDN berikut:

Masalah skenario: bentuk otentikasi mungkin waktu habis sebelum waktu habis atribut nilai yang ditetapkan di berkas konfigurasi

Jika bentuk otentikasi tiket yang dihasilkan secara manual, properti batas waktu tiket tersebut akan menimpa nilai yang ditetapkan di berkas konfigurasi. Oleh karena itu, jika nilai yang kurang dari nilai pada berkas konfigurasi, bentuk otentikasi tiket akan kedaluwarsa sebelum konfigurasi file timeout atribut nilai dan sebaliknya. Sebagai contoh, mari kita menganggap bahwa atributtimeout < formulir >diatur ke 30 dalam Web.config file dan nilai kedaluwarsa tiket diatur ke 20 menit. Dalam hal ini, bentuk otentikasi tiket akan kedaluwarsa setelah 20 menit dan pengguna harus masuk lagi setelah itu.

Link terkait

910439 memecahkan masalah otentikasi formulir

891032 pemecahan masalah ASP.NET

Bagaimana 301240 menerapkan otentikasi berbasis formulir aplikasi ASP.NET Anda menggunakan C# .NET

Bagaimana 308157 menerapkan otentikasi berbasis formulir aplikasi ASP.NET Anda dengan menggunakan Visual Basic .NET

Saya berharap Anda menemukan informasi ini membantu dalam mempermudah beberapa kebingungan terlibat dengan ASP.NET bentuk otentikasi tiket dan cookie. Ingat, kolom dukungan suara untuk Anda! Seperti biasa, ditujukan merasa bebas untuk mengirim ide pada topik yang Anda inginkan di masa mendatang kolom atau menggunakan basis pengetahuan Microsoft
Bentuk Meminta untuk itu .
Properti

ID Artikel: 910443 - Tinjauan Terakhir: 15 Jan 2017 - Revisi: 1

Tanggapan