Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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:
- Salin AccountController.cs di direktori Pengontrol
- Salin AccountModels di direktori Models
- 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:
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.
Ini meluncurkan situs web konfigurasi. Klik tab Keamanan di layar beranda, lalu klik tautan "Aktifkan peran" di tengah layar.
Klik tautan "Buat atau Kelola peran".
Masukkan "Administrator" sebagai nama peran dan tekan tombol Tambahkan Peran.
Klik tombol Kembali, lalu klik tautan Buat pengguna di sisi kiri.
Isi bidang informasi pengguna di sebelah kiri menggunakan informasi berikut:
Bidang | Nilai |
---|---|
Nama Pengguna | Administrator |
Kata Sandi | |
Kata Sandi Konfirmasi | |
(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.
Pada titik ini, Anda akan melihat pesan yang menunjukkan bahwa pengguna berhasil dibuat.
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:
Setelah masuk dengan akun Administrator baru, kami dapat masuk ke layar Edit Album seperti sebelumnya.