Aracılığıyla paylaş


Bölüm 7: Üyelik ve Yetkilendirme

tarafından Jon Galloway

MVC Müzik Deposu, web geliştirme için ASP.NET MVC ve Visual Studio'yu nasıl kullanacağınızı adım adım tanıtır ve açıklar.

MVC Music Store, müzik albümlerini çevrimiçi olarak satan ve temel site yönetimi, kullanıcı oturum açma ve alışveriş sepeti işlevlerini uygulayan basit bir örnek mağaza uygulamasıdır.

Bu öğretici serisi, ASP.NET MVC Müzik Deposu örnek uygulamasını derlemek için atılan tüm adımların ayrıntılarını içerir. Bölüm 7, Üyelik ve Yetkilendirmeyi kapsar.

Mağaza Yöneticisi denetleyicimize şu anda sitemizi ziyaret eden herkes erişebilir. Şimdi site yöneticilerine izni kısıtlamak için bunu değiştirelim.

AccountController ve Görünümleri Ekleme

Tam ASP.NET MVC 3 Web Uygulaması şablonu ile ASP.NET MVC 3 Boş Web Uygulaması şablonu arasındaki farklardan biri, boş şablonun Hesap Denetleyicisi içermemesidir. Tam ASP.NET MVC 3 Web Uygulaması şablonundan oluşturulan yeni bir ASP.NET MVC uygulamasından birkaç dosya kopyalayarak Hesap Denetleyicisi ekleyeceğiz.

Tam ASP.NET MVC 3 Web Uygulaması şablonunu kullanarak yeni bir ASP.NET MVC uygulaması oluşturun ve aşağıdaki dosyaları projemizdeki aynı dizinlere kopyalayın:

  1. Denetleyiciler dizinindeki AccountController.cs kopyalama
  2. Models dizininde AccountModels'i kopyalama
  3. Görünümler dizini içinde bir Hesap dizini oluşturun ve içindeki dört görünümün tümünü kopyalayın

Denetleyici ve Model sınıflarının ad alanını MvcMusicStore ile başlayacak şekilde değiştirin. AccountController sınıfı MvcMusicStore.Controllers ad alanını, AccountModels sınıfı ise MvcMusicStore.Models ad alanını kullanmalıdır.

Not: Bu dosyalar, öğreticinin başında site tasarım dosyalarımızı kopyaladığımız MvcMusicStore-Assets.zip indirmesinde de mevcuttur. Üyelik dosyaları Kod dizininde bulunur.

Güncelleştirilmiş çözüm aşağıdaki gibi görünmelidir:

Hesap Denetleyicisi nokta C S, Hesap Modelleri nokta CS ve / Hesap / klasöründeki dosyaların vurgulandığı Çözüm Gezgini bölmesinin ekran görüntüsü.

ASP.NET Yapılandırması sitesine Yönetici Kullanıcı Ekleme

Web sitemizde Yetkilendirme gerektirmeden önce erişimi olan bir kullanıcı oluşturmamız gerekir. Kullanıcı oluşturmanın en kolay yolu yerleşik ASP.NET Yapılandırması web sitesini kullanmaktır.

Çözüm Gezgini'ndeki simgeye tıklayarak ASP.NET Yapılandırması web sitesini başlatın.

Çözüm Gezgini penceresinin, küre ve çekiç simgesinin kırmızı dikdörtgende vurgulandığı ekran görüntüsü.

Bu işlem bir yapılandırma web sitesi başlatır. Giriş ekranında Güvenlik sekmesine tıklayın ve ardından ekranın ortasındaki "Rolleri etkinleştir" bağlantısına tıklayın.

Roller bölümünü ve Rolleri etkinleştir bağlantısının kırmızı dikdörtgende vurgulandığı yapılandırma web sitesinin ekran görüntüsü.

"Rol oluştur veya yönet" bağlantısına tıklayın.

Roller bölümünü ve rolleri oluştur veya yönet bağlantısının kırmızı dikdörtgende vurgulandığı yapılandırma web sitesinin ekran görüntüsü.

Rol adı olarak "Yönetici" yazın ve Rol Ekle düğmesine basın.

Yeni rol adı alanında Yönetici'yi gösteren yapılandırma penceresinin ekran görüntüsü ve kırmızı okla vurgulanmış.

Geri düğmesine ve ardından sol taraftaki Kullanıcı oluştur bağlantısına tıklayın.

Kullanıcılar bölümünü ve Kullanıcı oluştur bağlantısının kırmızı dikdörtgende vurgulandığı yapılandırma web sitesinin ekran görüntüsü.

Aşağıdaki bilgileri kullanarak soldaki kullanıcı bilgileri alanlarını doldurun:

Alan Değer
Kullanıcı Adı Yönetici
Parola
Şifreyi Onayla
E-posta (herhangi bir e-posta adresi çalışır)
Güvenlik Sorusu (ne isterseniz)
Güvenlik Yanıtı (ne isterseniz)

Not:

  • Önceki tabloda parola atlanmıştır.
  • Elbette istediğiniz herhangi bir parolayı kullanabilirsiniz. Varsayılan parola güvenlik ayarları, 7 karakter uzunluğunda ve alfasayısal olmayan bir karakter içeren bir parola gerektirir.

Bu kullanıcının Yönetici rolünü seçin ve Kullanıcı Oluştur düğmesine tıklayın.

Yönetici rolü onay kutusunun işaretlendiği ve kırmızı dikdörtgenle vurgulandığı Roller bölümünü gösteren yapılandırma web sitesinin ekran görüntüsü.

Bu noktada, kullanıcının başarıyla oluşturulduğunu belirten bir ileti görmeniz gerekir.

Kullanıcı hesabı oluşturma işleminin başarıyla tamamlandığını belirten bir ileti gösteren yapılandırma web sitesinin ekran görüntüsü.

Artık tarayıcı penceresini kapatabilirsiniz.

Rol Tabanlı Yetkilendirme

Artık [Authorize] özniteliğini kullanarak Kullanıcının sınıftaki herhangi bir denetleyici eylemine erişmek için Yönetici rolünde olması gerektiğini belirterek StoreManagerController'a erişimi kısıtlayabiliriz.

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

Not: [Authorize] özniteliği hem belirli eylem yöntemlerine hem de Denetleyici sınıfı düzeyinde yerleştirilebilir.

Şimdi /StoreManager'a göz atmak bir Oturum Aç iletişim kutusu getiriyor:

Kullanıcı adı ve parola metin alanlarıyla oturum açma iletişim kutusunu gösteren müzik deposu web sayfasının ekran görüntüsü.

Yeni Yönetici hesabımızla oturum açtıktan sonra, daha önce olduğu gibi Albüm Düzenleme ekranına gidebiliriz.