ADFS Domain Yazmadan Login Ayarı
1. Varsayılan Temadan Yeni Bir Tema Oluşturma
İlk olarak, varsayılan ADFS temasını baz alarak yeni bir tema oluşturulur.
New-AdfsWebTheme –Name DoktorCRMcustom –SourceName default
Bu komut ile default tema kopyalanarak DoktorCRMcustom isimli yeni bir tema oluşturulur.
2. Varsayılan Temanın Dosya Yapısını Dışarı Aktarma
Tema üzerinde değişiklik yapabilmek için varsayılan tema dosyaları export edilir.
- Sunucu üzerinde aşağıdaki klasör oluşturulur:
c:\ADFSTheme
- Varsayılan tema dosyaları bu klasöre aktarılır:
Export-AdfsWebTheme –Name default –DirectoryPath c:\ADFSTheme
Bu işlem sonucunda CSS, JavaScript ve görsel dosyalar ilgili klasör yapısı altında oluşacaktır.
3. onload.js Dosyasının Düzenlenmesi
Aşağıdaki dosya açılır:
C:\ADFSTheme\script\onload.js
Dosyanın en altına aşağıdaki JavaScript kodu eklenir.
3.1 Giriş Metninin Değiştirilmesi
// code to change “Sign in with organizational account” string.
var loginMessage = document.getElementById('loginMessage');
if (loginMessage)
{
loginMessage.innerHTML = 'Sign in with your DoktorCRMcustom account';
}
Bu kod, giriş ekranında görünen varsayılan metni özelleştirilmiş bir mesaj ile değiştirir.
3.2 Kullanıcı Adına Otomatik Domain Ekleme
Aşağıdaki kod bloğu içerisinde ‘doktorcrm\\’ kısmını düzenleme yapacağınız domain ile değiştirmelisiniz!
// code to change domain name entry.
if (typeof Login != 'undefined'){
Login.submitLoginRequest = function () {
var u = new InputUtil();
var e = new LoginErrors();
var userName = document.getElementById(Login.userNameInput);
var password = document.getElementById(Login.passwordInput);
if (userName.value && !userName.value.match('[@\\\\]'))
{
var userNameValue = 'doktorcrm\\' + userName.value;
document.forms['loginForm'].UserName.value = userNameValue;
}
if (!userName.value) {
u.setError(userName, e.userNameFormatError);
return false;
}
if (!password.value)
{
u.setError(password, e.passwordEmpty);
return false;
}
document.forms['loginForm'].submit();
return false;
};
}
Bu kod sayesinde:
- Kullanıcı domain girmeden sadece kullanıcı adını yazabilir
- Sistem otomatik olarak
doktorcrm\kullaniciadiformatına çevirir - Hatalı veya boş girişlerde ADFS’in standart hata kontrolleri korunur
4. Güncellenen JavaScript Dosyasının Temaya Eklenmesi
Son adımda, düzenlenen onload.js dosyası yeni oluşturulan temaya eklenir:
Set-AdfsWebTheme -TargetName DoktorCRMcustom -AdditionalFileResource @{
Uri='/adfs/portal/script/onload.js';
path="c:\ADFSTheme\script\onload.js"
}
Bu komut ile:
- Özelleştirilmiş JavaScript dosyası ADFS portalına eklenir
- DoktorCRMcustom teması üzerinden aktif olarak çalıştırılır
Yorum gönder