Exchange 의 Placeholder 변경했던 것처럼, 이번에는 ADFS 로그인 페이지의 placeholder 를 변경해 보도록 하겠습니다.
관련포스팅
2020/08/29 - [Exchange] - Exchange Server 2019. OWA userNameLabel 변경
개발은 제가 잘은 모르지만, 아래와 같이 someone@example.com 의 예시를 드는 영역을 placeholder라고 부릅니다.
그런데 AD login 계정과 email 계정이 불일치 할 경우에는 사용자들에게 혼선을 줄 수 있습니다.
Exchange 포스팅 때와 마찬가지로 이번에도 직원 ID로 변경해 보겠습니다.
아래의 기술자료를 참고하여 설정을 진행하겠습니다.
AD FS 사용자 로그인 사용자 지정
AD FS 로그인 페이지에 대 한 고급 사용자 지정
ADFS USERNAME BEHAVIOR
https://crossan007.dev/blog/identity-management/adfs-username-behavior/
우선 ADFS 2019 버전으로 기본테마는 2가지가 있습니다.
기본테마를 DefaultAdfs2019 를 활성화 하면 로그인 페이지 디자인이 다음과 같습니다.
Set-AdfsWebConfig -ActiveThemeName DefaultAdfs2019
심플하고 모던한 느낌의 로그인 페이지 입니다.
Default는 ADFS 2016까지의 기본 테마입니다.
어떠한 베이스로 변경할지를 정한 뒤, 아래의 명령어로 새 템플릿을 생성합니다.
New-AdfsWebTheme -Name 새테마이름 -SourceName 원본테마 |
생성확인
테마의 구성 파일을 내보냅니다. (폴더생성 필요)
Export-AdfsWebTheme -Name New1 -DirectoryPath C:\theme
구성파일들을 확인할 수 있습니다.
작업의 편의를 위해서 script 폴더의 onload.js 파일의 복사본을 생성합니다.
onload.js 파일을 Visual Studio Code 와 같은 편집기로 실행한 뒤, 아래의 내용을 마지막이나 // 로 구분된 영역에 삽입합니다.
(편집기로 진행하는 이유는 메모장에서는 한글로 입력시 올바르게 동작되지 않기 때문입니다.)
//Placeholder Field
function UpdatePlaceholders() {
var userName;
if (typeof Login != 'undefined'){
userName = document.getElementById(Login.userNameInput)
}
if (typeof UpdatePassword != 'undefined'){
userName = document.getElementById(UpdatePassword.userNameInput);
}
if (typeof userName != 'undefined'){
userName.setAttribute("placeholder","직원ID");
}
}
document.addEventListener("DOMContentLoaded", function(){
// Handler when the DOM is fully loaded
UpdatePlaceholders()
});
//SAMAccount Field
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.kr\\' + 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;
};
}
아래의 명령어로 기존 테마의 onload.js 스크립트 파일을 변경합니다.
그리고 New1 을 활성 테마로 설정합니다.
Set-AdfsWebTheme -TargetName New1 -OnLoadScriptPath "c:\theme\script\onload.js"
Set-AdfsWebConfig -ActiveThemeName New1
아래와 같이 변경된 것을 확인할 수 있습니다.
'Windows Server' 카테고리의 다른 글
Windows Server 2019. ADFS SSO 세션 시간 변경 (0) | 2020.09.13 |
---|---|
ADFS Events and Logging (0) | 2020.09.06 |
Windows Server 2019. Configure SSO to Salesforce Using Microsoft ADFS (0) | 2020.04.29 |
[EOS시리즈](9) DC2008R2 제거(Decommision) 및 Forest Level 변경 (0) | 2020.02.02 |
[EOS시리즈](7) DC 마이그레이션 (From 2008R2 to 2019) (0) | 2020.02.02 |