1. 描述
權限中使用 Session,一般是用來存放用戶名和密碼,下面分兩種情況介紹用戶名和密碼的保存。
2. 同一應用下 Session
由於 Session 中能夠保存 key,因此在權限中如果報表工程與自己的工程在一個應用下面,即 Session 相同,此時将用戶名與密碼存放於 Session 中,在浏覽器端将外界輸入的用戶名和密碼保存至 Session,報表服務器便可以獲得用戶名與密碼,去相應的地址匹配,匹配成功,通過權限關卡,匹配失敗,跳轉登錄頁面。
3. 不同應用下 Session
不在同一個應用環境下, Session 不能直接獲取到,要實現單點登錄的效果,在項目登錄界面把用戶名和密碼傳給報表服務器通過fs_load&cmd=sso方法進行驗證,驗證成功則把用戶名和密碼及角色以 Session 方式保存在報表服務器端,此時的應用 Session 和報表 Session,不是同一個 Session,相對獨立,互不影響。
跨域項目和跨語言項目都屬於不同應用下的工程,此時 Session 是不能共用,不是同一個 Session,所以在注銷用戶的同時觸發一下報表方法:/webroot/decision?op=fs_load&cmd=ssout,則可使用戶 Session 同步的效果。
權限中 Session 的定義及注銷可參考文檔 跨域單點登錄。