Ana içeriğe geç

1.2. Authorization#

Authorization yetkilendirme

Yetenekler#

Bu uygulama temelde kullanıcıların yetkilendirilmesini ve yetkilerinin çekilmesini sağlayan uygulamadır.

İstek Yaşam Döngüsü(Request Lifecycle)#

Authorization istek yaşam döngüsü yukarıdaki adımlardan oluşmaktadır.

  1. Sistemde giriş işlemi başarılı yapıldıktan sonra authorization uygulamasına session'ın ihtiyaç duyduğu bilgileri eklemek için istek gönderir.
  2. Kullanıcı güvenlik ve yetki kontrolü (security check) yapılır.
  3. Kontrol başarılı ise bir sonraki adıma geçilir. Değil ise 6.adım ile kullanıcı hata mesajı ile bilgilendirilir.
  4. Veri kaynağından bilgiler doğrulanarak authorization işlemi gerçekleştirilir.
  5. Sonuç authorization uygulamasına dönülür.
  6. Bu adımlar başarılı şekilde gerçekleşmiş ise talep edilen veri ve sonuç bilgisi ile kullanıcıya iletilir. Adımlardan birinde meydana gelecek hata durumunda, hata cevaba eklenerek kullanıcı tarafına iletilir.

Kullanıcıların Sisteme Kayıt Olması#

Kullanıcıların sisteme arayüz üzerinden kayıt olabilmeleri sağlanmaktadır. Bu sayede kullanıcılar kayıt ekranından kendi kullanıcılarını oluşturarak sisteme giriş yapabilirler. Kullanıcı kaydı işlemleri aşağıdaki adımlardan oluşmaktadır.

  1. Kullanıcılar "Giriş Yap" ekranında "Üye Ol" seçeneği ile kullanıcı kaydı ekranına erişebilirler.
  2. Kullanıcı email bilgisi ile birlikte kayıt olma isteğinde bulunur.
  3. Sistem bu maile karşılık bir doğrulama kodu oluşturur ve bu kayıt Redis'te tutulur.
  4. İlgili mail adresine bir link iletilir ve kullanıcı bu linke tıklayarak aktivasyon gerçekleştirir (Üretilmiş olan kod ve mail ile kullanıcı doğrulanmış olur).
  5. Kullanıcı kaydı ekranına yönlendirilen kullanıcı bilgilerinin doldurarak kayıt işlemini tamamlar. Bu ekranda girilen bilgiler ile sistemde kullanıcı detay, kullanıcı ve varsayılan profil oluşturulmaktadır.
  6. Kullanıcıya sisteme giriş yapabileceği linki içeren mail atılır. Kullanıcı yeni oluşturmuş olduğu kullanıcı adı ve şifre bilgileri ile sisteme giriş yapar.

Bu özelliğin aktif olabilmesi için KAFKA_SUPPORT_ENABLED ve AUTHZ_EVENT_ENABLED environmentları 'true' olmalıdır. Aynı zamanda Event ve Notification instance'larına bağımlılığı bulunmaktadır.

Kullanıcı kaydı sırasında mail uzantısı ve seçilebilecek olan kullanıcı tipi setting instance'dan konfigüratif olarak ayarlanabilmektedir. Ayarlardan register_allowed_domain_extensions ve register_user_detail_types koduna sahip ayarların değeri * olarak verildiğinde her değer kabul edilmektedir. Kısıtlama getirilmek istendiği durumda virgül ile istenilen değerlerin belirtilmesi gerekmektedir.

Kullanıcı kaydı özelliği konfigüratif olarak yönetilmektedir. Kullanıcı kaydı aktif/pasifliğini yöneten ayar registration_enabled koduna sahip ayardır ve setting instance'da initialize edilmiş olması gerekir.

INSERT INTO system.sys_setting (id, created_by, created_at, updated_at, updated_by, uuid, obj_version,
code, description, type_id, field_type, string_value, number_value,
boolean_value)
VALUES (NEXTVAL('system.sys_setting_seq'), 'unknown', CURRENT_DATE, CURRENT_DATE, 'unknown',
'SETTING_UUID_00000000000000000000047',
0, 'registration_enabled', 'registration_enabled', (SELECT id FROM system.sys_setting_type WHERE  name = 'SECURITY'), 2, '', 1, 1);