Skip to content
Smarter by Design.Simpler for Business

Web Form ​

Web Form Nedir? ​

Web Form, kullanıcının giriş formuna yazdığı bilgileri mevcut bir web uygulamasının kendi giriş formuna gönderen ve uygulamanın yanıtına göre girişi kabul eden Authentication Providers türüdür. Ayrı bir kimlik doğrulama API'si sunmayan, yalnızca bir giriş sayfası olan uygulamalar için kullanılır. Başarı, yanıtın durum kodu, çerezi, yönlendirme adresi ya da JSONata ifadesiyle belirlenir; sunucu profili gerekmez, istek profilin Namespace route tablosundan çıkar.

Nasıl çalışır?

  1. Bu ekranda Provider Type olarak Web Form seçilir; uygulamanın giriş formu adresi ve form alanları girilir.
  2. Profil, erişim akışına giriş formundan sonra Authentication Provider adımı olarak eklenir.
  3. TR7, kullanıcı bilgilerini uygulamanın giriş formuna gönderir.
  4. Uygulamanın yanıtı başarı koşullarını sağlarsa (genellikle başarılı girişte yapılan yönlendirme) akış success, sağlamazsa fail geçişinden devam eder.

Operasyonel En İyi Uygulamalar ​

  • Form alan adları birebir. Login Form Fields tablosundaki alan adları, uygulamanın giriş formundaki name öznitelikleriyle aynı olmalıdır.
  • Başarı koşulu yönlendirme. Uygulamaların çoğu başarılı girişte 301 ya da 302 yönlendirmesi yapar; hatalı girişte aynı sayfayı 200 ile döndürür. Koşul buna göre seçilmelidir.
  • Öznitelikler elle eşlenir. Bu türde otomatik öznitelik eşlemesi yoktur; formdaki User Attribute Mapping bölümünde No automatic mapping for this provider - every attribute has to be mapped below bilgisi görüntülenir.
  • Kilitleme. Parola doğrulayan bu türde Account Lockout Policies atanmalıdır.

Nasıl Eklenir? ​

Yeni bir Web Form sağlayıcısı, TR7 web yönetim arayüzü üzerinden aşağıdaki adımlarla eklenir:

  1. Sol altta bulunan TR7 logosuna tıklanarak Configuration Menu açılır.
  2. AGS → Authentication → Authentication Providers → Add adımları takip edilir.
  3. Profil için benzersiz ve açıklayıcı bir isim girilir; Provider Type olarak Web Form seçilir.
  4. Login Form URL, form alanları ve başarı koşulları girilir.
  5. Add butonuna tıklanarak profil eklenir.

Profil Ekleme Formu ​

AGS → Authentication → Authentication Providers → Add adımları takip edilerek Provider Type alanında Web Form seçildiğinde form aşağıdaki alanlarla açılır.

Web Form Seçiliyken FormWeb Form Seçiliyken Form

INFO

Provider Name Zorunlu ​

Profilin adı; listede, akış şemasındaki adım seçiminde, oturum listesinde ve loglarda profili tanımlar. Ad cihazda benzersiz olmalıdır; aynı adla ikinci bir profil kaydedilmez ve Name is used uyarısı görüntülenir. Boş bırakıldığında Required field uyarısı görüntülenir.

INFO

Provider Type Zorunlu ​

Sağlayıcı türü; bu sayfada Web Form seçilidir. Tür değiştirildiğinde yalnızca yeni türün alanları görüntülenir ve kaydedilir; tür düzenleme formunda da değiştirilir.

INFO

Namespace Varsayılan: varsayılan route tablosu ​

TR7'nin giriş formu isteğinin çıkacağı Route Tables kaydı; uygulamaya erişimi olan route tablosu seçilmelidir. Alan cihazın varsayılan route tablosuyla dolu gelir; bu tablonun adı cihaza göre değişir (ör. DEFAULT ya da DEFAULT_ROUTE).

INFO

Login Form URL Zorunlu ​

Kullanıcı bilgilerinin gönderileceği, uygulamanın giriş formunun action adresi; ƒx simgesiyle smart değişken eklenir. Boş bırakıldığında Required field uyarısı görüntülenir.

INFO

Login Form Fields Zorunlu ​

Forma gönderilecek alanlar Field Name ve Field Value tablosunda girilir. Form iki satırla açılır: username alanı AGS input (username), password alanı AGS input (password) değişkeniyle dolu gelir. Yeni satırlar etiketin yanındaki + simgesiyle eklenir, satırlar soldaki tutamaçtan sürüklenerek sıralanır ve sağdaki × simgesiyle silinir; en az bir satır bulunur. Değer alanında ƒx simgesiyle smart değişken seçilir.

INFO

Success Conditions Varsayılan: Status code ​

Girişin başarılı sayılması için yanıtta aranacak koşullar; birden fazla seçilir ve her seçim kendi alanını açar:

SeçenekAnlamı
Status CodeYanıtın durum kodu Expected Status Codes listesinde olmalıdır.
CookieYanıt Expected Cookie Name adlı çerezi içermelidir (ör. uygulamanın oturum çerezi).
Redirect URLYanıt Expected Redirect URL adresine yönlendirmelidir.
JSONataJSONata Success Expression ifadesi yanıt üzerinde doğru sonuç vermelidir.
Expected Status Codes Varsayılan: 301, 302 ​

Status Code seçiliyken görüntülenir; başarılı sayılan durum kodları çoklu seçilir. Web Form türünde başarılı girişteki yönlendirme kodlarıyla (301: Moved Permanently, 302: Found (Moved Temporarily)) dolu gelir.

Cookie seçiliyken görüntülenir; başarılı girişte uygulamanın yanıtta döndürmesi beklenen oturum çerezinin adı.

Expected Redirect URL Zorunlu ​

Redirect URL seçiliyken görüntülenir; başarılı girişte uygulamanın yönlendirmesi beklenen adres. Alan ƒx simgesiyle smart değişken kabul eder.

JSONata Success Expression Zorunlu ​

JSONata seçiliyken görüntülenir. İfade yanıt zarfının kökünde değerlendirilir; kökteki alanlar status (yönlendirmeler izlendikten sonraki son durum kodu), initialStatus (zinciri başlatan ilk durum kodu), finalUrl, headers, cookies, body ve redirects şeklindedir. Bu türde body ham HTML metnidir; sayfa içeriği $htmlQuery ve $htmlQueryAll işlevleriyle sorgulanır.

Örnekler: $count($htmlQueryAll(body, ".login-error")) = 0, $htmlQuery(body, "#welcome-banner") != null, $contains(finalUrl, "/home").

User Attribute Mapping ​

INFO

Custom User Attribute Mapping Varsayılan: No customisation ​

Sağlayıcı yanıtındaki alanların oturum özniteliklerine nasıl eşleneceği yönetilir. Bu türde otomatik eşleme yoktur; alanın solundaki bilgi çubuğunda No automatic mapping for this provider - every attribute has to be mapped below yazar ve gerekli her öznitelik bu alanda elle eşlenir.

Sağdaki anahtar Customised konumuna alındığında AGS Attribute ve Source Attribute tablosu görüntülenir: sol kolonda oturum özniteliği (öneri listesiyle), sağ kolonda JSONata ifadesi girilir. İfade, gönderilen form ile girişten sonra ulaşılan sayfa üzerinde çalışır; kökteki alanlar res.data (ham HTML), res.finalUrl, res.cookies, res.status, req.form ve req.url şeklindedir. Öznitelikler ya gönderilen form alanından (req.form.username) ya da HTML içinden kazınarak alınır: $htmlQuery(res.data, ".user-name"), $htmlQuery(res.data, ".user-meta", "data-mail"), $htmlQueryAll(res.data, "li.group"). Anahtar açıldığında çubuğun sağında satır ekleyen + Add bağlantısı belirir. AGS'nin standart öznitelikleri dışında bir ad girildiğinde bu öznitelik vService'te özel kullanıcı alanı olarak tanımlanır; _ ile başlayan adlar gizli alan sayılır ve özel kullanıcı alanı üretmez.

Lockout Configuration ​

INFO

Lockout Behavior Varsayılan: Use gateway defaults ​

Bu sağlayıcıdaki başarısız denemelerin hangi kilitleme politikalarıyla sayılacağı seçilir:

SeçenekAnlamı
Use Gateway DefaultsvService'in Default Lockout Policies listesindeki politikalar kullanılır.
Replace DefaultsYalnızca Lockout Policies alanında seçilen politikalar kullanılır.
Add to DefaultsvService'in varsayılan politikalarına ek olarak Lockout Policies alanında seçilenler de kullanılır.
No LockoutBu sağlayıcıda başarısız denemeler sayılmaz, kilitleme yapılmaz.
Lockout Policies ​

Replace Defaults ya da Add to Defaults seçiliyken görüntülenir; Account Lockout Policies ekranındaki hazır ve tanımlı politikalar seçilir.

INFO

Add ​

Add butonuna tıklanarak profil eklenir; sekme kapanır ve profil listede görüntülenir.