Apakah FormsAuthentication sudah usang? [Tutup]

46

Saya membuat situs web menggunakan ASP.NET MVC 5. Apakah Microsoft merilis teknologi apa pun untuk menggantikan FormsAuthentication atau mereka masih merekomendasikan otentikasi pengguna menggunakan FormsAuthentication untuk MVC 5?

sean717
sumber
3
Tentukan "OK" dan "Usang," dan jelaskan "Tidak suka."
Robert Harvey
24
Kenapa pertanyaan ini ditutup !? OP bertanya apakah FormsAuthentication sudah usang di MVC 5 dan apakah ada teknologi lain yang menggantikannya. Ini bukan pertanyaan berbasis pendapat seperti "Apa pendapat Anda tentang menggunakan FormsAuthentication di MVC 5".
Tony_Henrich
3
@ Tony_Henrich, ya saya tidak mengerti mengapa ini ditutup. Untungnya, Rowan memberikan jawaban yang berguna sebelum penutupan. Sebagian berdasarkan pada jawabannya saya masih menggunakan FormsAuthentication dalam proyek MVC5 saya.
sean717
3
Saya tidak mengerti mengapa ini ditutup? Bukankah pertanyaan ini tujuan pertukaran stack ini, dan tidak menanyakan pertanyaan semacam ini di stackoverflow?
contactmatt
3
Saya tidak mengerti mengapa pertanyaan ini ditutup? Proyek saya bermigrasi dari asp.net 4.0 webforms dengan otentikasi bentuk ke asp.net 4.5 MVC5 dan saya sedang mencari pendekatan terbaik dengan kode saat ini. Tolong jangan biarkan StackExchange menjadi lebih buruk dari Wikipedia.
JoshYates1980

Jawaban:

50

Iya. FormsAuthentication sudah tidak digunakan lagi dalam MVC 5 dan seterusnya.

Setidaknya, itulah jawaban singkatnya.

Jawaban panjangnya adalah bahwa pre-MVC 5 FormsAuthentication tradisional masih ok untuk digunakan . Namun, dihapus secara bertahap demi pendekatan alternatif seperti ASP.NET Identity .

Dalam Visual Studio 2013, opsi otentikasi yang disediakan untuk dan aplikasi MVC 5 adalah sebagai berikut:

Opsi otentikasi VS2013

Dalam hal ini, Akun Pengguna Perorangan mengacu pada ASP.NET Identity .

Menurut Microsoft, Keanggotaan ASP.NET sebelumnya telah diganti dengan ASP.NET Identity,

[...] contoh aplikasi akan dikonfigurasikan untuk menggunakan ASP.NET Identity ( sebelumnya dikenal sebagai keanggotaan ASP.NET )

(Penekanan milikku)

Microsoft juga menyatakan

Sistem keanggotaan baru didasarkan pada OWIN daripada modul Otentikasi Formulir ASP.NET.

Jadi Identity tidak benar-benar menggantikan FormsAuthentication, melainkan menggantikan sistem Keanggotaan yang menggunakan FormsAuthentication. Suatu hal yang baik juga, karena menurut pertanyaan yang saya ajukan pada tahun 2013, Keanggotaan agak membingungkan .

Jenis FormsAuthentication masih ada . Menurut Microsoft ,

ASP.NET juga memiliki dukungan autentikasi formulir melalui FormsAuthenticationModule, yang, bagaimanapun, hanya dapat mendukung aplikasi yang dihosting di ASP.NET dan tidak memiliki dukungan klaim. Berikut adalah daftar perbandingan fitur kasar: Perbandingan fitur

Jadi jika Anda masih ingin menggunakan FormsAuthentication, lihat Memahami otentikasi Formulir OWIN di MVC 5 .

Jadi Microsoft menganjurkan Anda untuk menggunakan ASP.NET Identity. Kamu tidak harus, tentu saja. Anda cukup memilih Tanpa Otentikasi dan proyek tidak akan mengimplementasikan apa pun untuk Anda. Hal ini kemudian terserah Anda untuk memenuhi kebutuhan keanggotaan / login Anda .

Rowan Freeman
sumber
5
OP maupun jawaban ini tidak menyebutkan otentikasi formulir kustom. Dalam aplikasi saya, saya tidak ingin dan tidak menggunakan kontrol keanggotaan bawaan dan tabel SQL Server, tetapi mengotentikasi pengguna menggunakan kode dan tabel pengguna saya. Kemudian setelah dikonfirmasi, saya menggunakan FormsAuthentication untuk membuat dan mengatur cookie auth. Saya tidak menggunakan ASP.NET Identity tetapi saya harap ini mendukung skenario ini juga.
Tony_Henrich
@ Tony_Henrich, "mengautentikasi pengguna menggunakan kode dan tabel pengguna saya. Kemudian setelah diautentikasi, saya menggunakan FormsAuthentication untuk membuat dan mengatur cookie auth" Itulah yang akhirnya saya lakukan. Saya sangat tidak suka kontrol keanggotaan ASP.NET dan tabel SQL Server-nya. Untuk sistem "ASP.NET membership", saya tahu ini sudah tidak digunakan lagi dan harus dihentikan (sejak bertahun-tahun yang lalu)
sean717
Proyek sumber terbuka yang baik yang menggunakan MVC5 dan otentikasi formulir kustom: github.com/YodasMyDad/mvcforum
JoshYates1980