Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 27998|Jawab: 3

[Sumber] Asp.Net autentikasi dan otorisasi di MVC

[Salin tautan]
Diposting pada 16/03/2017 13.47.34 | | |

MVC hadir dengan ActionFilter
Untuk mencapai autentikasi identitas di Asp.NET WebForm, Microsoft memberi kami tiga cara, yang paling umum digunakan adalah autentikasi Formulir kami, yang perlu dikonfigurasi dengan informasi yang sesuai. Misalnya, informasi konfigurasi berikut:


Artinya, halaman login kami Login.aspx, halaman default setelah login berhasil Default.aspx, dan informasi pengguna kami mengadopsi dua metode: verifikasi dan enkripsi. Dan yang paling penting adalah kita perlu menulis metode otorisasi (otorisasi di bawah ini harus ditulis, jika tidak, tidak ada gunanya hanya menggunakan otentikasi Formulir dan kemudian mengatur atribut yang relevan), menolak semua pengguna anonim, dan hanya pengguna yang masuk yang dapat mengakses secara normal. Setelah itu, kami mengatur tombol login untuk menulis nama pengguna ke dalam cookie (yaitu, jalankan FormsAuthentication.SetAuthCookie(nama, salah); Itu saja.
0 Di Asp.Net MVC kita juga dapat menggunakan autentikasi Formulir, tetapi jika Anda melakukannya di WebForm, itu tidak akan berfungsi. Misalnya, Anda mengonfigurasi informasi seperti ini:


Anda menyiapkan login di Login.aspx Anda untuk memicu Login di AccountController untuk masuk, di mana kode Logon:

Setelah melakukan ini, Anda akan menemukan bahwa Logon Anda tidak akan dieksekusi. Apa alasannya? Mengapa pengaturan yang sama tidak berfungsi di MVC? Alasannya adalah mekanismenya berbeda, karena Anda menyiapkan metode otorisasi yang membuat Logon tidak dapat diakses. Jadi bagaimana kita melakukannya?
Faktanya, di Asp.Net MVC kami memiliki cara yang lebih baik untuk melakukan semua ini, kami tidak memerlukan metode otorisasi, yang berarti informasi konfigurasi kami terlihat seperti ini:




Tidak perlu menentukan bahwa pengguna anonim tidak dapat masuk, dll. Tentu saja, Anda akan menemukan bahwa hanya melakukan ini saja tidak cukup, tetapi kami harus memberi tahu sistem mana yang perlu masuk untuk mengakses. Anda mungkin berpikir, o()〈))o Oh, itu terlalu merepotkan. Tidak seperti itu, sangat sederhana, kita hanya perlu menandai [Authorize] pada Action yang perlu diautentikasi. Misalnya, saya memiliki dua halaman di folder Beranda, Indeks dan Beranda, dan saya ingin Indeks diautentikasi untuk mengakses, tetapi Beranda tidak, jadi saya hanya perlu memberikan tag Tindakan Indeks [Otorisasi], yaitu:



Hal ini memungkinkan Index diakses setelah masuk, sedangkan Home tidak perlu masuk. Jika Anda perlu mengotorisasi peran, maka Anda dapat menentukan peran saat menandai Otorisasi (misalnya [Authorize(Role=Administrator)]), tetapi Anda harus menggunakan mekanisme keanggotaan yang disediakan oleh Microsoft, karena peran Anda tidak dapat ada secara gratis, tetapi ada di database yang sesuai, yang saya sebutkan di blog lain.
Menyesuaikan ActionFilter
Terkadang Anda mungkin tidak dapat memenuhi otentikasi semacam ini, atau jika Anda merasa tidak cukup fleksibel, maka itu tidak masalah, Asp.Net MVC memungkinkan Anda untuk menyesuaikan ActionFilter Anda. Misalnya, saya sekarang menyesuaikan otentikasi:


Jika manajemen pengguna diperlukan, saya akan menentukan filter terkait peran:

Faktanya, Anda akan menemukan bahwa dua Atribut di atas sebenarnya telah diselesaikan oleh Authorized bawaan MVC, dan di sini kami terutama memberi tahu Anda bahwa Anda dapat memperpanjangnya jika perlu.
Nah, itu saja untuk hari ini! Unduhan kode sumber: FormFormsAuthenticationMvc





Mantan:Setelah peningkatan VPS, prosesnya sekitar 45 dan CPU berjalan hingga 100,
Depan:Peringatan "Konflik yang belum terselesaikan ditemukan antara versi yang berbeda dari rakitan dependen yang sama"
 Tuan tanah| Diposting pada 30/03/2017 09.40.22 |
Diposting pada 28/12/2017 14.58.56 |
Akan lebih baik jika ada rendering
Diposting pada 07/02/2023 15.44.56 |

Akan lebih baik jika ada rendering
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com