Custom Connection String Provider, uygulamanızın farklı ortamlara ya da sistemlere bağlanmasını sağlayan özelleştirilmiş bağlantı cümlelerini (Connection String) tanımlamak için kullanılır. Bu yapı sayesinde uygulamanızı ortamdan bağımsız (development, staging, production) şekilde yapılandırabilir veya farklı veritabanlarına dinamik olarak yönlendirebilirsiniz.
Şablondaki sınıf, ICustomConnectionString arayüzünü uygular ve iki metot içerir:
GetConnectionString: Uygulamanın kullanacağı bağlantı cümlesini döndürür.
Custom Workflow Connection String: Workflow işlemlerinde kullanılacak bağlantı cümlesini döndürür.
Her iki metot da şu parametreleri alır:
userId: Kullanıcının KUser tablosundaki Id değeri
username: İstekte bir token varsa ve token'ın claim'lerinde UserName değeri bulunuyorsa bu değer; token yoksa ve istek gövdesinde UserName adlı bir alan varsa bu alanın değeri
Custom Connection String Provider; aynı uygulamanın farklı müşteriler için ayrı veritabanlarına bağlanması, geliştirme ve canlı sistemlerin ayrıştırılması ve çoklu tenant destekli sistemlerde dinamik bağlantı değişimi için kullanılır.
Fonksiyonun geri dönüşü:
return null: Kuika'nın varsayılan bağlantısı kullanılır.
return "connection_string": Döndürülen bağlantı cümlesi (örneğin SQL Server, PostgreSQL vb.) kullanılır. Kullanıcıya, uygulamaya veya tenant'a özel bağlantılar döndürmek mümkündür.
Dönüş değeri hassas bilgiler içerdiğinden, bağlantı cümlesi güvenli biçimde oluşturulmalı ve loglanmamalıdır.