ADFS3.0 Customizing the AD FS Sign-in Pages(二、JS篇)
三年多前寫過一篇adfs3.0的登入頁面的自定義,但之前的部落格裡只介紹了一些基本的修改樣式的指令,本篇開始探討下在js層面能做哪些自定義。
當我們用下面這條powershell的指令把預設的樣式匯出來後,我會看到一個script的資料夾,裡面有一個onload.js的檔案
Export-AdfsWebTheme –Name default –DirectoryPath c:\theme
第一個預設場景是,使用者不想輸入賬號的域字首,比如說下圖中的賬號是smart\666,使用者不想輸入域的smart\的字首,只想輸入666這個工號。
要實現這個需求,我們只需要在點選登入按鈕之前在使用者名稱之前加個字首即可,在onload.js檔案最下方加入如下程式碼,主要的作用就是判斷使用者名稱是否帶有域字首,如果沒有則新增。
var AppendUPN = function () {
debugger;
var userName = document.getElementById(Login.userNameInput);
if (!(/\\/.test(userName.value)))
{
userName.value = 'smart\\' + userName.value;
}
return true;
}
document.getElementById('submitButton').onclick = new Function("AppendUPN();return Login.submitLoginRequest();");
document.getElementById('loginForm').onkeypress = function(event){ if(event && event.keyCode == 13) {AppendUPN();Login.submitLoginRequest()}};
修改完後如何把改後的js傳上去,可以參考上一篇如何新建一個custom樣式,然後在用下面這條指令把custom中的js給替換掉。
Set-AdfsWebTheme -TargetName Custom -AdditionalFileResource @{Uri='/adfs/portal/script/onload.js'; path="c:\Theme\Custom\script\onload.js"}
再比如修改使用者名稱輸入框的預設提示,在onload.js中加入如下程式碼即可。
document.forms['loginForm'].UserName.placeholder = '您的工號';
第二個場景,修改輸入框上方的提示,即我上圖中的"請使用您的工號和密碼登入",將下述js新增到onload.js的最下方
var loginMessage = document.getElementById(’loginMessage‘);
if (loginMessage)
{
// loginMessage element is present, modify its properties.
loginMessage.innerHTML = ‘這裡就填你想要顯示的內容’;
}
第三個場景,使用者名稱文字框中不輸入域名,使用者名稱框中輸入的格式有兩種,一種是smart\666,一種是666@smart.com,這裡說的是前一種,js程式碼如何
var AppendUPN = function () {
var userName = document.getElementById(Login.userNameInput);
if (!(/\\/.test(userName.value)))--判斷使用者名稱是否帶域名,如果不帶則追加
{
userName.value = ‘Corp\\’ + userName.value;
}
return true;
}
document.getElementById(‘submitButton’).onclick = new Function(“AppendUPN();return Login.submitLoginRequest();”);
document.getElementById(‘loginForm’).onkeypress = function(event){ if(event && event.keyCode == 13) {AppendUPN();Login.submitLoginRequest()}};
JS上還有其他可操作的空間有代繼續研究。
相關文章
- Node.Js之FS檔案操作篇Node.js
- ADFS3.0 更改預設埠S3
- hadoop fs命令Hadoop
- ADFS3.0/4.0 證書更新/替換S3
- nodejs之-fs模組NodeJS
- 第二章:前端視角——NodeJS檔案操作fs(1)前端NodeJS
- hadoop2.4.1 fs shellHadoop
- Hadoop FS Shell命令大全Hadoop
- 十三、Node.js-fs模組(上)Node.js
- Github Pages部署個人部落格(Hexo篇)GithubHexo
- nodejs學習心得(三)fs模組NodeJS
- hadoop之 HDFS fs 命令總結Hadoop
- Salesforce Admin篇(二) ReportSalesforce
- Hexo系列:(二)Github pages配置自己的域名HexoGithub
- 05_Node js 檔案管理模組 fsJS
- NodeJs fs(檔案系統簡單操作)NodeJS
- nodeJs檔案系統(fs)與流(stream)NodeJS
- 06小白學nodejs fs模組其它方法NodeJS
- node.js常用的fs檔案系統Node.js
- Adaptive Cursor Sharing(第二篇)APT
- React + Redux 效能優化(二)工具篇: ImmutablejsReactRedux優化JS
- github pagesGithub
- node-"fs-extra"模組代替fs使用
- Gradle for Android 第二篇( Build.gradle入門 )GradleAndroidUI
- 一篇帶你用 VuePress + Github Pages 搭建部落格VueGithub
- <node.js學習筆記(3)>url,fs,qs,cryptoNode.js筆記
- 「nodejs + docker + github pages 」 定製自己的 「今日頭條」NodeJSDockerGithub
- js學習 第二篇資料型別JS資料型別
- GoldenGate for Java adapter介紹二(程式碼篇)GoJavaAPT
- 淺析node中流應用(二) 可寫流(fs.createWriteStream)
- 學習篇:NodeJS中的模板引擎:jadeNodeJS
- linux檔案系統問題:wrong fs type, bad option, bad superblockLinuxBloC
- tune2fs和dumpe2fs 命令用法
- Hadoop回收站及fs.trash引數詳解Hadoop
- AIX System Administration之儲存管理、LVM、FS(一)AILVM
- JS版資料結構第二篇(佇列)JS資料結構佇列
- JS基礎入門篇(二十)—事件物件以及案例(二)JS事件物件
- Pages模板Templates for Pages DesiGN讓您的工作更出色