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