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 |
---|---|
|
|
Secara singkat, autentikasi formulir di ASP.NET berfungsi seperti ini:
- Klien meminta sumber daya yang memerlukan autentikasi.
- Jika pengguna tidak diautentikasi, server mengembalikan HTTP 302 (Ditemukan) dan mengalihkan ke halaman masuk.
- Pengguna memasukkan kredensial dan mengirimkan formulir.
- Server mengembalikan HTTP 302 lain yang mengalihkan kembali ke URI asli. Respons ini mencakup cookie autentikasi.
- Klien meminta sumber daya lagi. Permintaan mencakup cookie autentikasi, sehingga server memberikan permintaan.
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.