Office365 Exchange Hybrid No.20 ADFS功能優化

上一篇文章中提到了增加或修改ADFS功能,如:

增加用戶自助修改密碼區域

用戶修改密碼要求提示

增加ADFS登陸時提示用戶用什麼賬號登錄

修改ADFS登錄默認提示的登錄UPN地址示例

增加helpdesk link

修改默認的Microsoft徽標等等

那麼這些功能需要怎麼來實現呢?由於都是非常簡單我就整合到一篇文章中來完成。

修改密碼,ADFS3.0是需要安裝一個系統補丁:Windows8.1-KB3035025-x64.msu (當然也可以通過Windows Update來安裝這個補丁)

裝完這個補丁後,我們需要進入ADFS管理中心,啓用修改密碼功能

image.png

啓用這個功能後請記得一定要重啓所有的ADFS服務器的ADFS服務以生效。

啓用後修改密碼的URL爲https://adfs.ucssi.cn/adfs/portal/updatepassword 但是這個URL是不會再ADFS頁面上展示的,那麼我們需要將這個頁面展示再ADFS頁面上需要怎麼操作呢?

我們知道在ADFS登錄頁面密碼框下面是可以增加登錄描述的,所以我們可以在這個描述裏面增加超鏈接內容,

image.png

至於如何增加這裏的描述內容呢?接下來在ADFS中創建登錄頁面描述,並將描述的超鏈接更改到updatepassword的URL,

Set-AdfsGlobalWebContent -SignInPageDescriptionText "<p>提醒:爲保障帳戶安全,請確保您的密碼符合複雜性要求,並定期更改您的密碼。點擊 <A href='https://adfs.ucssi.cn/adfs/portal/updatepassword/'>更改密碼</A></p >"

image.png

實際效果如下:

image.png

這樣點擊這個超鏈接按鈕就可以進入到修改密碼的頁面了。如下圖

image.png

但是這個頁面是不是顯得過於簡單了?作爲最終用戶,可能會不知道AD管理員設置的密碼策略,那麼這時候我們很人性化的在修改密碼頁面增加一些文字描述來說明需要修改強密碼並寫上其他要求是不是用戶體驗會更好?

有這個想法就開始幹!

配置命令

Set-AdfsGlobalWebContent -UpdatePasswordPageDescriptionText "<p><Font color=red>您的密碼必須符合下列最低要求:</font></p>不能包含用戶的帳戶名,不能包含用戶姓名中超過兩個連續字符的部分<p>至少有8個字符長</p><p>之前使用過的兩個歷史密碼不能再次使用</p><p>包含以下四類字符中的三類字符:</p><p>英文大\小寫字母(A 到 Z)</p><p>10 個基本數字(0 到 9)</p><p>非字母字符(例如 !、$、#、%)</p>"

效果如下:

image.png

怎麼樣這個效果是不是很友好呢?最終用戶根據這個要求去修改密碼,也省的不知道密碼策略而修改不了密碼最終不停在各種工作羣裏吐槽IT。


大家可能注意到了上圖的馬賽克了,這裏就是說上面說的ADFS登錄默認提示的登錄UPN地址示例,最終用戶可不是IT人員,微軟默認的登錄框中就是[email protected]這樣的地址示例,保不準會有最終用戶也輸入這個地址,所以我們需要把默認的這個地址示例修改成企業自己的UPN地址。

這裏操作稍微麻煩一點,需要將ADFS的主題文件找出來,然後進行編輯:

導出默認主題命令

Export-AdfsWebTheme –Name default –DirectoryPath c:\theme

解壓主題後找到onload.js文件然後做如下修改

// Sample code to change “Sign in with organizational account” string.  


// Check whether the loginMessage element is present on this page.  

var loginMessage = document.getElementById('loginMessage');  

if (loginMessage)  

{  

       // loginMessage element is present, modify its properties.  

       loginMessage.innerHTML = '使用XX企業帳號登錄';  

}



// Check whether the userNameInput element is present on this page.


var userNameInput = document.getElementById('userNameInput');


if (userNameInput)


{


// userNameInput element is present, modify its properties.


userNameInput.placeholder = 'someone@企業域名.com';


}



修改完成後保存然後使用以下兩條命令來更新默認主題

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


Set-AdfsWebConfig -ActiveThemeName default


完成後的效果:

image.png

這樣給最終用戶的使用體驗是不是很好呢?這可是企業IT的加分項啊!

還有最後一個隱藏Microsoft徽標,這個就更加簡單了,剛剛導出的主題文件中找到style.css文件,然後做如下修改

將display後面修改成none然後保存,再使用以下兩條命令更新主題

Set-AdfsWebTheme -TargetName default -StyleSheet @{locale="";path="C:\Theme\css\style.css"}

Set-AdfsWebConfig -ActiveThemeName default


image.png


最後,我們還可以在ADFS頁面上增加一個helpdesk link到企業內部的helpdesk中心,怎麼實現呢?非常簡單,只需要敲下面的powershell命令就搞定了

Set-AdfsGlobalWebContent -HelpDeskLink 企業內部helpdesk的URL地址 -HelpDeskLinkText helpdesk描述文字

效果如下:

image.png


好了以上就大功告成了,基本ADFS登錄頁面就做的非常的人性化了,如果是國際版的Office365訂閱還可以做MFA(多重身份驗證),但是這次的項目用的是國內版的Office365,沒法在ADFS中整合MFA,但是我們可以就Office365本身而言來使用MFA,那麼怎麼來使用MFA呢?下一篇文章我繼續跟大家分享


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章