45 Şifre işlemleri için base class oluşturma

Şifre sıfırlama ve şifre değiştirme işlemlerinde kullanacağımız modellerde Sifre ve SifreTekrari adında iki alanımız mevcut. Her iki modele bu alanları kopyala yapıştır yapıp yazmamak için , yani tekrara düşmemek için , tekrar eden yapıyı temel alıp diğer yapıları bu yapının üzerine oluşturacağız. Models\SifreTemel.cs Yukarıdaki temel yapıyı kullanarak SifreSifirla modelini aşağıdaki gibi düzenliyoruz Models\SifreSifirla.cs

43 Profil düzenleme

Öncelikle Ad,Soyad,OkulNumarasi alanları sahip ProfilTemel sınıfı üzerine Id alanını ekleyerek ProfilDuzenle sınıfını oluşturuyoruz. HesapController.cs dosyasına aşağıdaki kodları ekliyoruz. Profil actionu ile ProfilDuzenle modelini doldurup view içine gönderiyoruz. HesapController.cs dosyasına aşağıdaki kodları ekliyoruz. Profil sayfasında yapılan değişiklikleri aşağıdaki action ile işliyoruz HesapController.cs dosyasına aşağıdaki kodları ekliyoruz.

41 Sınıf türetme, Class inheritance

Bu yazımızda daha önce oluşturduğumuz Duyuru ve Etkinlik sınıflarının daha yapısal bir yapıda olmasını sağlayacağız. Duyuru ve Etkinlik sınıflarının her ikisinde de Id ve Baslik alanları mevcut. Ortak olan alanları başka bir sınıf olarak tanımladıktan sonra , bu elemanlara sahip sınıfları bu ortak sınıf üzerine inşa ediyoruz. Temel.csId ve Detay alanlarına sahip Temel adında bir … Devamını oku…

40 Sayfa yetkilendirme

[Authorize] ile sadece giriş yapan kullanıcıların sayfaya erişmesini sağladık.Bu durumu bir adım ileriye götürerek, üyeler içinde sadece Yetkiler yetkisine/ rolüne sahip kullanıcıları bu sayfaya erişmesini sağlayabiliriz. Öncelikle yetkiler sayfasına Yetkiler adında bir yetki ekliyoruz.

39 Giriş Korumalı sayfa oluşturmak

Aşağıdaki görselde görükldüğü gibi, bazı sayfaların kullanıcı girişinde sonra erişilebilir olması gerekiyor. Kırmızı ile işaretlenmiş bölümde kullanıcının giriş yapmamasına rağmen, Yetki sayfasına erişebildiğini görüyorsunuz. Yetki denetleyicisinin başına [Authorize] anahtar kelimesini ekleyerek sayfanın üyelik sistemi iel giriş yapıldıktan sonra erişilebilir olmasını sağlıyoruz. Görüldüğü gibi giriş yapmayan kullanıcılar bu sayfaya erişmek istediğinde , kullanıcı giriş sayfasına yönlendiriliyor.

36 Etkinlik silme

EtkinlikController.cs dosyası içine aşağıdaki kodları ekliyoruz public async Task<IActionResult> Sil(int id) { var etkinlik = await contex.Etkinlikler.FindAsync(id); if (etkinlik != null) { contex.Remove(etkinlik); await contex.SaveChangesAsync(); } return RedirectToAction(nameof(Index)); }