Web Uygulamalarında Oturumların Önemi
Oturumlar, belirli bir süre boyunca birden fazla istek arasında kullanıcıya özgü verilerin korunmasını sağlayarak, bu boşluğu kapatır.
-
Kullanıcı Kimliğinin Korunması: Oturumlar, kullanıcı kimlik doğrulama ve yetkilendirme süreçlerinde kritik rol oynar. Web uygulamalarının, farklı etkileşimler boyunca kullanıcıları tanımlamasına ve takip etmesine olanak tanıyarak, kısıtlı kaynaklara güvenli erişim sağlarlar.
-
Kişiselleştirilmiş Kullanıcı Deneyimi: Oturumlar, kullanıcı tercihlerini, ayarlarını ve gezinme geçmişini saklayarak kullanıcı deneyimlerinin kişiselleştirilmesini kolaylaştırır. Bu sayede uygulamalar, bireysel kullanıcı profillerine göre içerik ve işlevsellik sunabilir.
-
Alışveriş Sepetleri ve E-Ticaret: E-ticaret uygulamalarında oturumlar, alışveriş sepetlerini yönetmek ve sipariş işlemlerini gerçekleştirmek için vazgeçilmezdir. Oturumlar sayesinde, sayfa geçişleri sırasında sepet içeriği ve kullanıcı seçimleri korunur; böylece alışveriş süreci kolaylaşır ve kullanıcıların rahatlığı artırılır.
-
Form Verilerinin Korunması: Oturumlar, kullanıcılar tarafından girilen form verilerinin korunmasını sağlar ve gezinme ya da gönderim hataları sırasında veri kaybını önler. Bu, kesintisiz ve sorunsuz bir form doldurma deneyimi sunar.
-
Kullanıcı Aktivitesinin Takibi: Oturumlar, sayfa görüntülemeleri, etkileşimler ve oturum süresi gibi kullanıcı oturum verilerini saklayarak, web analitiği ve izleme mekanizmalarını destekler. Bu bilgiler, kullanıcı davranışlarını anlamaya ve web sitesinin performansını optimize etmeye yardımcı olur.
ASP.NET Core MVC'de Oturum Yönetimini Uygulama
-
Yeni Bir ASP.NET Core MVC Projesi Oluşturma
İlk olarak, Visual Studio ya da .NET CLI kullanarak yeni bir ASP.NET Core MVC projesi oluşturun. -
Gerekli Paketleri Yükleme
Oturum yönetimi için gerekli paketleri NuGet Paket Yöneticisi veya .NET CLI kullanarak yükleyin. Bu örnekte, Microsoft.AspNetCore.Session paketine ihtiyacımız olacak. -
Servisleri Yapılandırma
Startup sınıfının ConfigureServices yönteminde, oturum servislerini eklemek için services.AddSession() metodunu kullanın. -
Ara Katmanı Yapılandırma
Startup sınıfının Configure yönteminde, oturum ara katmanını kullanmak için app.UseSession() metodunu çağırın.
Controller Oluşturma
Uygulamanızın mantığını işlemek için kontrolörler oluşturun. Bu örnekte, HomeController ve RecordsController kullanacağız.
Aşağıda, oturum içine veri eklemek için bir Index eylem yöntemi olan HomeController oluşturulmuştur.
public class HomeController : Controller
{
private readonly ILogger<HomeController> _logger;
public HomeController(ILogger<HomeController> logger)
{
_logger = logger;
}
public IActionResult Index()
{
// Oturuma kaydedilecek kayıtlar listesi
var records = new List<Record>
{
new Record { Id = 1, Name = "Kayıt 1" },
new Record { Id = 2, Name = "Kayıt 2" },
// Gerekirse buraya daha fazla kayıt ekleyin
};
// Kayıtları serileştir ve oturuma kaydet
var serializedRecords = JsonSerializer.Serialize(records);
HttpContext.Session.SetString("Records", serializedRecords);
return RedirectToAction("GetRecords", "Records");
}
}
Veriyi Oturumda Saklama
Bir kontrolör eyleminizde (örneğin, HomeController'ın Index eylemi), oturumda tutmak istediğiniz veriyi saklayın. Karmaşık türleri (örneğin listeleri) saklamadan önce dizelere veya byte dizilerine dönüştürün.
Bu örnekte, veriyi şu şekilde oturumda sakladık:
var serializedRecords = JsonSerializer.Serialize(records);
Oturumdan Veri Alma
Başka bir kontrolör eyleminde (örneğin, RecordsController'ın GetRecords eyleminde), oturumdan veriyi alın. Gerektiğinde saklanan veriyi orijinal türüne geri döndürün.
Aşağıda, oturumdan veri almayı sağlayan bir GetRecords eylemi örneği verilmiştir:
public class RecordsController : Controller
{
public IActionResult GetRecords()
{
// Oturumdan kayıt listesini alın
var records = HttpContext.Session.Get<List<Record>>("Records");
return View(records);
}
}
Özet
Oturum yönetimi, web geliştirme sürecinde temel bir konudur ve geliştiricilerin etkileşimli, kişiselleştirilmiş ve güvenli web uygulamaları oluşturmasına olanak tanır.
