𝒯𝐸𝒟𝐼𝒪𝑅𝐸𝐿𝐸𝐸

🌈AD FS Customize UI SetUp

🌈AD FS Customize UI SetUp
2019-04-15 · 3 min read
AD FS

How to Customize AD FS UI

参考资料

http://blog.51cto.com/scnbwy/2174017
http://blog.51cto.com/scnbwy/2174003
https://blog.csdn.net/blackwolves/article/details/50995689

图片尺寸要求如下:

左侧图片要求:1420X1080 ,最大200KB

右侧logo要求:260X35,最大10KB

powershell命令如下:

Set-AdfsWebTheme -TargetName micromooc_custom -Illustration @{path="C:\micromooc_theme\illustration\left.png"}
Set-AdfsWebTheme -TargetName micromooc_custom -Logo @{path="C:\micromooc_theme\illustration\logo.png"}

效果如下:

添加自助密码修改页面

在服务器管理工具中找到ADFS管理-服务-终结点

在右侧窗口中最下方找到其他,可以看到有一个名字叫做updatepasswdendpoint

右键它并选择启用即可
管理员运行powershell
我们通过在ADFS登录页面创建一个新的描述并设置一个超链接跳转到重置密码的页面即可
powershell中输入:

Set-AdfsGlobalWebContent -SignInPageDescriptionText "<p>提醒:为保障帐户安全,请确保您的密码符合复杂性要求,并定期更改您的密码。点击 <A href='https://your_url/adfs/portal/updatepassword/'>更改密码</A></p >"

打开ADFS登录页面即可看到效果

登录页面不用输入域名的实现方法

导出当前主题

Export-AdfsWebTheme -DirectoryPath C:\Theme -Name default

修改主题里的onload.js文件
添加如下字段:

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 = 'yourdomain.com\\' + 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;
    };
}

PS:记得修改里面的yourdomain.com字段为你自己的

更新修改到主题中

Set-AdfsWebTheme -TargetName default -AdditionalFileResource @{Uri=’/adfs/portal/script/onload.js’;path="C:\xxx\script\onload.js"}

打开登录页
只需要输入用户名就可以了,不用加上域名了