ADFS kurulumunda giriş sayfasında domain/kullanıcıAdı ya da kullanici@domain.com şeklinde giriş yapmak gerekiyor. Bu işlemleri iptal etmek için onload.js içinde değişiklik yapmak gerekiyor. Bu değişiklikler için öncelikle tema özelleştirilmeli. Daha sonra export edilmeli ve bu export edilen dosyalar üzerinde işlem yapılmalı.
Öncelikle Default tema istediğimiz bir isim vererek kopyalıyoruz.
New-AdfsWebTheme –Name YeniTemam –SourceName default
Kopyaladığımız tema üzerinde işlem yapacağız ve daha sonra bu temayı aktifleştirmek istiyorsak;
Set-AdfsWebConfig -ActiveThemeName YeniTemam
Kopyaladığımız temayı, işlem yapmak için C dizini altında bir klasöre çıkartıyoruz.
Export-AdfsWebTheme –Name YeniTemam–DirectoryPath c:\theme
Çıkarttığımız tema işlemleri için onload.js düzenlenmesi gerekiyor. Bu dosya script altında bulunmaktadır. bu alanda bir değişiklik yaptığımızda tekrar adfs sunucusuna upload etmemiz gerekiyor. Bu işlem için powershell’i administrators modunda açıyoruz bu komutu veriyoruz.
Set-AdfsWebTheme -TargetName YeniTemam -AdditionalFileResource @{Uri=’/adfs/portal/script/onload.js’;path=”c:\theme\script\onload.js”}
Login – Sign In
Onload.js dosyasını notepad ile açarak aşağıdaki kodu istediğimiz bir ala ekliyoruz. Login ekranında domain yazma zorunluğunu kaldıracaktır. Bu düzenleme işleminden sonra adfs’e tekrar onload js tekrar yüklenmelidir.
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 = 'contoso.com\\' + userName.value; // replace contoso.com with custom ADFS Name
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;
};
}
Password update Page – Onload.js dosyasını notepad ile açarak aşağıdaki kodu istediğimiz bir ala ekliyoruz. Parola güncelleme ekranında domain yazma zorunluğunu kaldıracaktır. Bu düzenleme işleminden sonra adfs’e tekrar onload js tekrar yüklenmelidir.
if (typeof UpdatePassword !== 'undefined') {
UpdatePassword.submitPasswordChange = function () {
var u = new InputUtil();
var e = new UpdErrors();
var userNameValue;
var userName = document.getElementById(UpdatePassword.userNameInput);
var oldPassword = document.getElementById(UpdatePassword.oldPasswordInput);
var newPassword = document.getElementById(UpdatePassword.newPasswordInput);
var confirmNewPassword = document.getElementById(UpdatePassword.confirmNewPasswordInput);
if (!userName.value || !userName.value.match('[@\\\\]')) {
userNameValue = 'Contoso.com\\'+userName.value; // replace contoso.com with custom ADFS Name
document.forms['updatePasswordForm'].UserName.value = userNameValue;
}
if (userName.value && userName.value.match('[@]')) {
var matchresult = userName.value.match('[@]');
var firstat = matchresult[0];
var splitresult = userName.value.split(firstat);
userNameValue = 'contoso.com\\' + splitresult[0];
document.forms['updatePasswordForm'].UserName.value = userNameValue;
}
if (!oldPassword.value) {
u.setError(oldPassword, e.oldPasswordEmpty);
return false;
}
if (oldPassword.value.length > maxPasswordLength) {
u.setError(oldPassword, e.oldPasswordTooLong);
return false;
}
if (!newPassword.value) {
u.setError(newPassword, e.newPasswordEmpty);
return false;
}
if (!confirmNewPassword.value) {
u.setError(confirmNewPassword, e.confirmNewPasswordEmpty);
return false;
}
if (newPassword.value.length > maxPasswordLength) {
u.setError(newPassword, e.newPasswordTooLong);
return false;
}
if (newPassword.value !== confirmNewPassword.value) {
u.setError(confirmNewPassword, e.mismatchError);
return false;
}
var error = document.getElementById('error');
error.innerHTML = '';
return true;
};
}