Angular Universal projeler için Backend Mimarisi


Selam takipçilerim,

Katmanlı mimari ile hazırladığınız bir .NET Core backendin endpointlerini doğru tasarlamak gerekiyor.

Angular Universal ile hazırladığımız frontend şunlar olacaktır:

  1. Angular Universal SSR Web Sitesi
  2. Ionic Angular Universal iOS Uygulama
  3. Ionic Angular Universal Android Uygulama
  4. Electron Angular Universal Mac Uygulama
  5. Electron Angular Universal Windows Uygulama
  6. Electron Angular Universal Linux Uygulama
  7. Angular CRM Web Uygulaması
  8. Ionic Angular CRM iOS Uygulama
  9. Ionic Angular CRM Android Uygulama

Temel olarak 9 client öngörebiliriz. Bunların ilk 6’sı aslında tek bir Angular Universal uygulamadır.

.NET Core Api katmanındaki endpointler şöyle olmalıdır:

  1. /api/auth
  2. /api/public
  3. /api/buyer -> Authorize(Roles = “Buyer”)
  4. /api/seller -> Authorize(Roles = “Seller”)

Buyer ve Seller web apilerinin ayrıştırılması bizim her ikisinde de ayrı ayrı JWT Authorize işlemi yapmamızı mümkün kılıyor. Ayrıca rolleri de ayrıştırarak güvenliği sağlamış oluyoruz. Ayrıca her controller kendi audienceCheck’ini de ayrı ayrı yapmalıdır.

Bu durumda CQRS Servis katmanında birden fazla rol kontrolüne implemente etmeniz gerekir.

KVKK konusunda yapılacaklar ise şöyledir:

  1. Üyelik sistemi olarak .NET Core Identity kullanılmalıdır.
  2. Serilog ile Error ve Information log sistemi kurulmalı ve Loglar veritabanına kaydedilmelidir. Request logu da aynı tabloya kaydedilebilir.
  3. EntityFrameworkCore için AuditLog implementasyonu yapılmalıdır.
  4. Oturum açma ve kapatma işlemleri için LoginLog implementasyonu yapılmalıdır.
  5. Oturum kapatıldığında ilgili JWT geçersiz kabul edilmeli ve sonraki kullanımlarında kabul edilmemelidir.
  6. Tüm kişisel veriler veritabanına ProtectedPersonalData ile şifrelenerek kaydedilmelidir.
  7. Parolalar veritabanına şifrelenerek kaydedilmelidir.
  8. Tekrar tekrar oturum açma işlemlerinde hesap kilitlenmelidir.
  9. Kişisel verilerin indirilebilmesi ve silinebilmesi sağlanmalıdır.
  10. İki faktörlü kimlik doğrulamasından yararlanılmalıdır.
  11. Parola değiştirildiğinde mevcut tüm JWT’ler geçersiz hale getirilerek oturumlar kapatılmalıdır.

Daha Fazla Güvenlik Gerekiyorsa:

  1. İki faktörlü kimlik doğrulaması mecburi yapılmalıdır.
  2. Yedek telefon ve kurtarma kodu implementasyonu yapılmalıdır.
  3. Periyodik parola değiştirme implementasyonu yapılmalıdır.
  4. Oturum açıldığında e-posta bildirimi gönderilmelidir.
  5. İki faktörlü kimlik doğrulamasında kolaylık için tarayıcıya güven özelliği implemente edilmelidir.

Posted in Genel

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s