Bagikan melalui


Bagian 7: Keanggotaan dan Otorisasi

oleh Jon Galloway

MVC Music Store adalah aplikasi tutorial yang memperkenalkan dan menjelaskan langkah demi langkah cara menggunakan ASP.NET MVC dan Visual Studio untuk pengembangan web.

MVC Music Store adalah implementasi toko sampel ringan yang menjual album musik secara online, dan menerapkan administrasi situs dasar, masuk pengguna, dan fungsionalitas keranjang belanja.

Seri tutorial ini merinci semua langkah yang diambil untuk membangun aplikasi sampel ASP.NET MVC Music Store. Bagian 7 mencakup Keanggotaan dan Otorisasi.

Pengontrol Store Manager kami saat ini dapat diakses oleh siapa pun yang mengunjungi situs kami. Mari kita ubah ini untuk membatasi izin kepada administrator situs.

Menambahkan AccountController dan Views

Salah satu perbedaan antara templat Aplikasi Web MVC 3 ASP.NET lengkap dan templat Aplikasi Web Kosong ASP.NET MVC 3 adalah bahwa templat kosong tidak menyertakan Pengontrol Akun. Kami akan menambahkan Pengontrol Akun dengan menyalin beberapa file dari aplikasi MVC ASP.NET baru yang dibuat dari templat Aplikasi Web MVC 3 ASP.NET lengkap.

Buat aplikasi MVC ASP.NET baru menggunakan templat Aplikasi Web MVC 3 ASP.NET lengkap dan salin file berikut ke direktori yang sama dalam proyek kami:

  1. Salin AccountController.cs di direktori Pengontrol
  2. Salin AccountModels di direktori Models
  3. Buat direktori Akun di dalam direktori Tampilan dan salin keempat tampilan di

Ubah namespace untuk kelas Pengontrol dan Model sehingga dimulai dengan MvcMusicStore. Kelas AccountController harus menggunakan namespace layanan MvcMusicStore.Controllers, dan kelas AccountModels harus menggunakan namespace layanan MvcMusicStore.Models.

Catatan: File-file ini juga tersedia dalam unduhan MvcMusicStore-Assets.zip tempat kami menyalin file desain situs kami di awal tutorial. File Keanggotaan terletak di direktori Kode.

Solusi yang diperbarui akan terlihat seperti berikut ini:

Cuplikan layar Jendela Penjelajah Solusi dengan Account Controller.cs, Account Models.cs, dan file di folder /Akun/ disorot.

Menambahkan Pengguna Administratif dengan situs Konfigurasi ASP.NET

Sebelum memerlukan Otorisasi di situs web kami, kita harus membuat pengguna dengan akses. Cara term mudah untuk membuat pengguna adalah dengan menggunakan situs web Konfigurasi ASP.NET bawaan.

Luncurkan situs web konfigurasi ASP.NET dengan mengklik ikon di Penjelajah Solusi.

Cuplikan layar jendela Penjelajah Solusi dengan ikon bola dunia dan palu disorot dalam persegi panjang merah.

Ini meluncurkan situs web konfigurasi. Klik tab Keamanan di layar beranda, lalu klik tautan "Aktifkan peran" di tengah layar.

Cuplikan layar situs web konfigurasi yang memperlihatkan bagian Peran dan tautan Aktifkan peran disorot dalam persegi panjang merah.

Klik tautan "Buat atau Kelola peran".

Cuplikan layar situs web konfigurasi yang memperlihatkan bagian Peran dan tautan Buat atau Kelola peran disorot dalam persegi panjang merah.

Masukkan "Administrator" sebagai nama peran dan tekan tombol Tambahkan Peran.

Cuplikan layar jendela konfigurasi memperlihatkan Administrator di bidang Nama peran baru dan disorot dengan panah merah.

Klik tombol Kembali, lalu klik tautan Buat pengguna di sisi kiri.

Cuplikan layar situs web konfigurasi yang memperlihatkan bagian Pengguna dan tautan Buat pengguna disorot dalam persegi panjang merah.

Isi bidang informasi pengguna di sebelah kiri menggunakan informasi berikut:

Bidang Nilai
Nama Pengguna Administrator
Kata Sandi
Kata Sandi Konfirmasi
Email (alamat email apa pun akan berfungsi)
Pertanyaan Keamanan (Apa pun yang Anda suka)
Jawaban Keamanan (Apa pun yang Anda suka)

Catatan:

  • Dalam tabel sebelumnya, kata sandi telah dihilangkan.
  • Anda tentu saja dapat menggunakan kata sandi apa pun yang Anda inginkan. Pengaturan keamanan kata sandi default memerlukan kata sandi yang panjangnya 7 karakter dan berisi satu karakter non-alfanumerik.

Pilih peran Administrator untuk pengguna ini, dan klik tombol Buat Pengguna.

Cuplikan layar situs web konfigurasi yang memperlihatkan bagian Peran dengan kotak centang Peran administrator dicentang dan disorot dengan persegi panjang merah.

Pada titik ini, Anda akan melihat pesan yang menunjukkan bahwa pengguna berhasil dibuat.

Cuplikan layar situs web konfigurasi memperlihatkan pesan bahwa pembuatan akun pengguna berhasil diselesaikan.

Anda sekarang dapat menutup jendela browser.

Otorisasi Berbasis Peran

Sekarang kita dapat membatasi akses ke StoreManagerController menggunakan atribut [Otorisasi], yang menentukan bahwa pengguna harus berada dalam peran Administrator untuk mengakses tindakan pengontrol apa pun di kelas.

[Authorize(Roles = "Administrator")]
public class StoreManagerController : Controller
{
    // Controller code here
}

Catatan: Atribut [Otorisasi] dapat ditempatkan pada metode tindakan tertentu serta di tingkat kelas Pengontrol.

Sekarang menjelajah ke /StoreManager memunculkan dialog Masuk:

Cuplikan layar halaman web penyimpanan musik memperlihatkan dialog masuk dengan bidang teks nama pengguna dan kata sandi.

Setelah masuk dengan akun Administrator baru, kami dapat masuk ke layar Edit Album seperti sebelumnya.