.net core 5.0 için IAuthorizationFilter

 Aşağıdaki örnek kod, .NET Core 5.0 için IAuthorizationFilter arabirimini kullanarak bir uygulama içinde oturumun varlığını kontrol etmenizi sağlar. Eğer oturum yoksa, kullanıcıya "401 Unauthorized" HTTP durum kodu ile bir yanıt döndürülür.



Bu filtreyi kullanmak için, uygulamanızda kontrol edilmesi gereken metodların üstüne [SessionCheckFilter] attribute eklemelisiniz. Örneğin:


Eğer uygulamanızda tüm controller'lar için oturum kontrolü yapmak istiyorsanız, aşağıdaki yolları izleyebilirsiniz:


1. Global filtre olarak tanımlama: Bu yöntem, tüm controller'lar için oturum kontrolü yapmak için kullanılabilir. Bu yöntemde, Startup.cs dosyasındaki ConfigureServices metodunda filtreyi GlobalFilters.Filters koleksiyonuna eklemelisiniz. Örnek kod:


2. Base Controller sınıfı oluşturma: Bu yöntemde, tüm controller'ların ortak bir base class'ı oluşturabilirsiniz. Bu sınıf içinde IAuthorizationFilter arabirimini uygulayan bir metod yazabilirsiniz. Bu şekilde tüm controller'lar bu sınıfı kalıtım yoluyla miras alacak ve oturum kontrolü işlemi otomatik olarak gerçekleşecektir. Örnek kod:



Her iki yöntemde de tüm controller'lar için oturum kontrolü yapabilirsiniz, hangi yöntemi kullanacağınız sizin uygulamanızın ihtiyacına ve tercihine göre değişebilir.





Eğer belirli bir controller veya action için oturum kontrolü yapmak istemiyorsanız, aşağıdaki yolları izleyebilirsiniz:


1. [AllowAnonymous] attribute kullanma: Bu attribute, oturum kontrolünün atlanmasını sağlar. Bu attribute'u controller veya action'a eklemelisiniz. Örnek kod:

2. Filtre yapılandırması: Bu yöntemde, Startup.cs dosyasındaki ConfigureServices metodunda filtreyi GlobalFilters.Filters koleksiyonuna eklediğinizde, AllowAnonymous attribute'unu kullanarak belirli bir controller veya action'ı filtreden atlayabilirsiniz. Örnek kod:

3. Custom Filter : Bu yöntemde, kendi filter'inizi oluşturup, belirli bir controller veya action'ı filtreden atlamak için kullanabilirsiniz. Örnek kod :



Bu yöntemlerden hangisini kullanacağınızı belirlemek için, projenizin ihtiyacına ve tercihine göre karar verebilirsiniz.



Not: chatGPT yardımı ile hazırlanmıştır.




Yorumlar

Bu blogdaki popüler yayınlar

Asp.Net ile Uyarı Mesajları Vermek (msgbox)

Asp.Net ile T.C. Kimlik Doğrulama (Mernis) Web Service ile

Asp.Net Eval Kullanımı