İlk Blog Yazım

Selamlar , ben Ali Burak Başaran. Ankara’da yaşıyorum. 2011 yılından itibaren ağırlıklı olarak .net alanında geliştirme yapıyorum. Yazılım dünyası çok hızlı değişiyor. Bu değişime ayak uydurmak için yaptığım çalışmaları bundan sonra sizlerle paylaşmak istedim ve bu blogu kurdum. Bu blogda bildiğim konuları sizlerle paylaşmanın yanı sıra yeni öğrendiğim , öğrenmek istediğim konularda yaptığım çalışmalarıda yayınlayarak ,benim gibi aynı şeyleri öğrenmek...

RabbitMQ Nedir – Windows Ortamına Kurulumu ve .net Core Publisher – Consumer

RabbitMQ Nedir ?    RabbitMQ bir mesaj kuyruğu sistemidir. Genel tabiriyle MessageBroker sistemidir. Publish/Subscribe(Pub/Sub) mantığı ile çalışmaktadır. RabbitMQ’yu kargo kuryesi gibi düşünün posta gelir  kurye alır ve yerine zamanında iletir. Yani kısaca görevi bir kaynaktan alınan mesajı/bilgiyi başka bir kaynağa sırası geldiğinde aktarmaktır. ( RabbitMQ FIFO prensibine göre çalışır , yani ilk giren ilk çıkar.) RabbitMQ varsayılan olarak AMQP adlı...

Asp.net Core 3.1. Token Based Authentication with Jwt (Oauth 2.0) – A&A part 5

Merhaba ; Geliştirdiğimiz uygulamaların çoğunda bir kullanıcı doğrulama mekanizmasına ihtiyaç duyarız.Geçmişte çeşitli basic yöntemlerde (Cookie Based vs) bu mekanizmaları geliştirdik. Şimdi ise cookie based kullanıcı doğrulama yöntemleri yerine token based sistemler kullanılmaktadır. Bunun nedeni artık uygulamaların dağıtık tabanlı ( Mivroservisler, Mobil Uygulamalar vs ) olmasıdır. Bu iki sistemi karşılaştıracak olur isek ; Cookie Based Authentication Authenticate için verilen servise kullanıcı...

Asp.net Core 3.1. Mapper Kavramı ve AutoMapper – A&A – Part 4

Merhabalar ; Bu post içerisinde Kısaca “Mapper” kavramına değinip A&A projemize AutoMapper implementasyonu yapacağız. Mapper’a neden ihtiyaç duyarız ? Geliştirdiğimiz uygulamalarda son kullanıcıya açtığımız Servislerde,Api’larda veritabanından çektiğimiz sonuç entity’sini direk dönmek istemeyiz.(ORM kullandığımızı varsayıyorum). Bunun çeşitli nedenleri vardır. Örneğin bir GetUserCountry diğer bir servisimiz olsun ve içerisinde UserName ve Country dönsün. Eğer biz gelen entityleri direk dönseydik şöyle bir sonuç...

Asp.Net Core 3.1 Middleware Kavramı – A&A – Part3

Selamlar, Custom A&A projemizin 3. kısmı ile karşınızdayım. Konumuz Middleware. Middleware Nedir ? Middleware yapısı, uygulamamızın HTTP isteklerine nasıl tepki vereceğini denetleyen bir yapıdır diyebiliriz. Örneğin bir hata durumunda neler yapılacak, kullanıcı kimliği doğrulaması yapılması , cache ve loglama işlemlerini buradan yönetebiliriz. Peki Asp.net Core da Middleware nasıl kullanılır ? Asp.net Core da microsoftun bize sunmuş olduğu hazır middlewarelar olduğu gibi...

Asp.Net Core 3.1 Unit Of Work & Generic Repository Pattern Implementation – Custom Authentication & Authorization – Real World Application – Part2

Selamlar Bir önceki makalemizde girişini yaptığımız A&A uygulaması için şimdi Repository Pattern ile Unit Of Work Yaklaşımını projemize ekleyeceğiz. Önceki Makale : http://aliburakbasaran.com/2020/01/07/asp-net-core-3-1-custom-authentication-authorization-real-world-application-part1-asp-net-core-3-1-entity-framework-core-code-first-implementation/ Github Reposu : https://github.com/aburakbasaran/Authentication Bu blogda uygulamaların nasıl çalıştığı , mantığından çok gerçek dünya uygulamalarında nasıl kullanacağımızı anlatmak istiyorum. Fakat kısaca Unit Of Work ve Repository Patternlerinden bahsedecek olursak ; Neden Generic Repository Pattern ? (GRP) Bu...

Asp.Net Core 3.1 Custom Authentication & Authorization – Real World Application – Part1 Asp.Net Core 3.1 Entity Framework Core Code First Implementation

Selamlar , Bu makalede Asp.Net Core 3.1 ile Microsoft Identity altyapısını kullanmadan , tamamen kendi metodlarımız ve veri tabanı yapımızla custom şekilde bir Authentication & Authorization WebApi’yı yapacağız. Bu projeyi orta ölçekli bir gerçek dünya uygulaması olarak geliştirmeyi planlıyorum. Bu yazı A&A projesi için giriş olacaktır. Uygulama bittiğinde bu konu hakkında 8 makale olmasını planlıyorum.(Bu sayı değişebilir.) Projede kullanacağımız teknoloji...