如何在報表權(quán)限中使用session
Posted on 2015-09-29 10:58 FineReport——報表技術(shù)領(lǐng)跑者 閱讀(79) 評論(0) 編輯 收藏1. 問題描述
權(quán)限中使用session,一般是用來存放用戶名和密碼,下面以報表開發(fā)工具FineReport為例,分兩種情況介紹用戶名和密碼的保存:
2. 同一應(yīng)用下session
由于session中能夠保存key,因此在權(quán)限中如果報表工程與自己的工程在一個應(yīng)用下面,即session相同,此時將用戶名與密碼存放于session中,在瀏覽器端將外界輸入的用戶名和密碼保存至session,報表服務(wù)器便可以獲得用戶名與密碼,去相應(yīng)的地址匹配,匹配成功,通過權(quán)限關(guān)卡,匹配失敗,跳轉(zhuǎn)登錄頁面。
3. 不同應(yīng)用下session
不在同一個應(yīng)用環(huán)境下,session不能直接獲取到,要實現(xiàn)單點登錄的效果,在項目登陸界面把用戶名和密碼傳給報表服務(wù)器通過fs_load&cmd=sso方法進(jìn)行驗證,驗證成功則把用戶名和密碼及角色以session方式保存在報表服務(wù)器端,此時的應(yīng)用session和報表session,不是同一個session,相對獨立,互不影響。
跨域項目和跨語言項目都屬于不同應(yīng)用下的工程,此時session是不能共用,不是同一個session,所以在注銷用戶的同時觸發(fā)一下報表方法:/WebReport/ReportServer?op=fs_load&cmd=ssout,則可使用戶session同步的效果。權(quán)限中session的定義及注銷可參考Finereport幫助文檔:跨域單點登錄。