在登錄平臺時,不希望使用FR默認(rèn)的內(nèi)置登錄界面,想通過自定義登錄界面實現(xiàn)登錄操作,內(nèi)置登錄界面如下圖:
登錄界面,獲取到用戶名和密碼的值,發(fā)送到報表系統(tǒng),報表服務(wù)帶著這兩個參數(shù)訪問認(rèn)證地址進(jìn)行認(rèn)證。
自定義登錄界面
登錄界面設(shè)置
自定義html登錄頁面:命名為login.html,并保存在%FR_HOME%\WebReport下,代碼如下:
Dosubmit()是主要的邏輯判斷,實現(xiàn)的是將對應(yīng)的值傳給報表服務(wù)的邏輯實現(xiàn)過程。
調(diào)用登錄界面
登錄系統(tǒng),選擇管理系統(tǒng)>外觀配置,在登錄頁選項中選擇設(shè)置登錄網(wǎng)頁,并輸入自定義登錄頁面的路徑:login.html,如下圖所示:
總結(jié)
比如說若用戶有自己的系統(tǒng),將FR繼承到自己已有系統(tǒng)中,該系統(tǒng)有自己的登錄界面,希望登錄自己系統(tǒng)的同時也登錄報表(即將輸入的用戶名密碼也發(fā)送到報表服務(wù)進(jìn)行認(rèn)證),從而訪問報表時不需要再次登錄即單點登錄,步驟如下:
1、找到您系統(tǒng)登錄頁面如login.jsp;
2、在login.jsp頁面head中引入finereport.js;
3、在login.jsp頁面JavaScript中定義function如dosubmit,在dosubmit中獲取到輸入的用戶名密碼,并通過iframe方式或者ajax方式進(jìn)行認(rèn)證。
4、在FineReport平臺系統(tǒng)中設(shè)置自定義登錄頁面地址為您系統(tǒng)的登錄地址。
若是OA系統(tǒng)或者報表系統(tǒng)和項目系統(tǒng)不再同一個服務(wù)器上,可以進(jìn)行ajax跨域異步單點登錄。
Session傳值
對于java系統(tǒng)來說,可將用戶名與密碼放在session中,把報表集成在同一環(huán)境下面,報表可自動獲取到用戶名和密碼的值進(jìn)行驗證。
還原默認(rèn)登錄界面
如果在決策系統(tǒng)修改了登錄界面后,希望還原成系統(tǒng)默認(rèn)登錄界面,應(yīng)該如何實現(xiàn)呢?
1)打開安裝目錄%FR_HOME%\WebReport\WEB-INF\resources,找到fsconfig.xml
2)刪除loginUrl屬性
右擊fsconfig.xml文件,選擇編輯器打開,刪除文件中的loginUrl屬性,如下,刪除login.htm:
此時請務(wù)必關(guān)閉設(shè)計器,重新開啟,再次進(jìn)入數(shù)據(jù)決策系統(tǒng),即可回到默認(rèn)的登錄界面。
還原到默認(rèn)的登錄界面后,如果再需要設(shè)置登錄界面,可以用管理員賬戶登錄,進(jìn)行設(shè)置即可。
posted on 2017-03-21 16:58 喝水居然長肉 閱讀(118) 評論(0) 編輯 收藏
Powered by: BlogJava Copyright © 喝水居然長肉