EAS_单点登录跨数据中心问题

场景:EAS有多个账套,浏览器用户A已经登录账套A,此时,A用户,通过单点链接方式,进入web审批页,想要审批账套B中的单据,由于浏览器已经存在账套A的会话,导致审批页空白,

 

解决方案:此现象主要是由于浏览器会话缓存原因,要想处理,需要模拟web端的安全登录出,要在调用单点审批地址前。先后调用2个地址来进行浏览器的会话清除和登出,

地址1:http://IP:端口/portal/web_frame/uncheck/easrpc/logoutAndReleaseResource.action?ticked=true 

地址2:http://IP:端口/eassso/logout

在先后调用完成前面2个地址后,即可以调用第三个单点地址

前段方案可以参考如下处理:

function viewVoucher(id) {
    $.ajax({
        url: '/tWEt9bfb8AKP/jzt/ViewVoucher.jsp?id=' + id,
        type: 'GET',
        dataType: 'json',
        async: false,
        success: function (result) {
            if (result.code === "200") {
                var urlObj = result.viewVoucherUrl;
                
                var first = window.open(urlObj.first)
                var second = window.open(urlObj.second)

                setTimeout(function (){
                    first.close();
                    second.close();
                },1)

                setTimeout(function (){
                      window.open(urlObj.third);
                },500)

            } else {
                alert(result.msg)
            }
        }
    });

}

应用范围:如单点登录提示用户已登录或切换数据中心未生效,查看不同数据中心的web页面,

posted @ 2025-09-11 10:27  凉了记忆  阅读(7)  评论(0)    收藏  举报