为做了面向互联网部署(IFD)的Dynamics 365定制登录账号格式
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面的微软最有价值专家(Microsoft MVP),欢迎关注我的微信公众号 MSFTDynamics365erLuoYong ,回复354或者20190817可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!
之前我的博文 做了面向互联网部署的Dynamics 365 CE更改AD FS的登录页面 讲了一些AD FS登录页面定制,有的朋友问我输入用户名的时候可以不输入域名吗?比如我之前输入的用户名是 crmadmin@luoyong.me ,我可以只输入 crmadmin 作为用户名吗?当然是可以的,我这里根据官方文档 Advanced Customization of AD FS Sign-in Pages 进行定制。
因为我之前做了主题定制,我这里就直接修改定制的主题。首先需要将主题导出,使用类似如下命令:
Export-AdfsWebTheme –Name LuoYongTheme –DirectoryPath C:\LuoYongTheme
然后修改导出的文件夹中的 script文件夹下面的 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 = userName.value + '@luoyong.me'; 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; }; }
再使用PowerShell命令执行如下代码:
Set-AdfsWebTheme -TargetName LuoYongTheme -OnLoadScriptPath "C:\LuoYongTheme\script\onload.js"
当然还需要使用Set-AdfsWebConfig设置这个主题为默认主题,因为我前面的博文已经设置为了默认主题就并不需要了。AD FS服务也不需要重启,立即生效了。