Bagikan melalui


Autentikasi Formulir di API Web ASP.NET

oleh Mike Wasson

Autentikasi formulir menggunakan formulir HTML untuk mengirim kredensial pengguna ke server. Ini bukan standar Internet. Autentikasi formulir hanya sesuai untuk API web yang dipanggil dari aplikasi web, sehingga pengguna dapat berinteraksi dengan formulir HTML.

Kelebihan Kekurangan
  • Mudah diimplementasikan: Dibangun ke dalam ASP.NET.
  • Menggunakan penyedia keanggotaan ASP.NET, yang memudahkan pengelolaan akun pengguna.
  • Bukan mekanisme autentikasi HTTP standar; menggunakan cookie HTTP alih-alih header Otorisasi standar; beberapa pengguna menonaktifkan cookie.
  • Sulit digunakan dari klien nonbrowser. Login memerlukan browser.
  • Kredensial pengguna dikirim sebagai teks biasa dalam permintaan.
  • Rentan terhadap pemalsuan permintaan lintas situs (CSRF); membutuhkan langkah-langkah anti-CSRF.

Secara singkat, autentikasi formulir di ASP.NET berfungsi seperti ini:

  1. Klien meminta sumber daya yang memerlukan autentikasi.
  2. Jika pengguna tidak diautentikasi, server mengembalikan HTTP 302 (Ditemukan) dan mengalihkan ke halaman masuk.
  3. Pengguna memasukkan kredensial dan mengirimkan formulir.
  4. Server mengembalikan HTTP 302 lain yang mengalihkan kembali ke URI asli. Respons ini mencakup cookie autentikasi.
  5. Klien meminta sumber daya lagi. Permintaan mencakup cookie autentikasi, sehingga server memberikan permintaan.

Ilustrasi tentang cara kerja autentikasi formulir di A S P dot Net

Untuk informasi selengkapnya, lihat Gambaran Umum Autentikasi Formulir.

Menggunakan Autentikasi Formulir dengan API Web

Untuk membuat aplikasi yang menggunakan autentikasi formulir, pilih templat "Aplikasi Internet" di wizard proyek MVC 4. Templat ini membuat pengontrol MVC untuk manajemen akun. Anda juga dapat menggunakan templat "Aplikasi Halaman Tunggal", yang tersedia di Pembaruan ASP.NET Musim Gugur 2012.

Di pengontrol API web, Anda dapat membatasi akses dengan menggunakan [Authorize] atribut , seperti yang dijelaskan dalam Menggunakan Atribut [Otorisasi].

Autentikasi formulir menggunakan cookie sesi untuk mengautentikasi permintaan. Browser secara otomatis mengirim semua cookie yang relevan ke situs web tujuan. Fitur ini membuat autentikasi formulir berpotensi rentan terhadap serangan pemalsuan permintaan lintas situs (CSRF) Lihat Mencegah Serangan Pemalsuan Permintaan Lintas Situs (CSRF).

Autentikasi formulir tidak mengenkripsi kredensial pengguna. Oleh karena itu, autentikasi formulir tidak aman kecuali digunakan dengan SSL. Lihat Bekerja dengan SSL di API Web.