2017-08-05 92 views
1

我正在使用OpenAM 13.0來添加一些功能以滿足我客戶的要求。將文本字段添加到OpenAM XUI登錄頁面

我想將驗證碼添加到XUI登錄頁面,並且作爲第一步,我一直試圖向登錄頁面添加文本字段。起初,我試圖在config文件夾中自定義login.jsp,並根據克隆默認文件夾的說明並在我的realm配置文件中將一些元素添加到login.jsp中。但是,我看不到任何效果。

然後我嘗試使用腳本模塊添加客戶端腳本。但是,當我創建新腳本來添加文本字段時,用戶名和密碼字段從登錄頁面中消失。

我的腳本是:

$(document).ready(function(){ 
    fs = $(document.forms[0]).find("fieldset"); 
    var strUI='<div class="group-field-block"><label class="short">CAPTCHA:</label><input type="text" name="Captcha"/></div>'; 
    $(fs).append(strUI); 
}); 

什麼是錯誤的,我的JavaScript?爲登錄頁面添加一些輸入字段的最佳做法是什麼?

順便說一句,我不能使用Google Recaptcha,因爲我要在沒有Internet訪問的本地Intranet中使用OpenAM。

回答

2

如果您嘗試自定義XUI接口,則不應該查看JSP文件。 XUI基於靜態HTML文件和JavaScript,因此定製需要以不同的方式完成。考慮到您試圖向登錄頁面添加一個新的輸入字段,實際上,您需要定製一個驗證模塊。

每個認證模塊都有它們可以使用的預定「回調」列表,每個回調錶示認證模塊的某種「輸入」。爲了向登錄屏幕添加新的輸入字段,您不必更新認證模塊的回調描述符XML(例如在config/auth/default文件夾中的LDAP.xml),但是您還需要更新認證模塊本身以便它實際上知道如何處理這個新的輸入值。

+0

我們最近發現,我們不能購買OpenAM許可證和支持,因爲ForgeRock不向伊朗出售產品。所以,我不得不停止在OpenAM上工作並轉移到其他方面。無論如何,謝謝你的回答。 –