EAS系统对接第三方认证中心后保留自认证二开方案

1、反编译
com.kingdee.bos.sso.client.filter.validation.KDPortalTicketValidationFilter
包路径:eas\server\lib\web\portal\bos_sso_client.jar
直接反编译实现,不要继承,继承需要改非常多配置,还会被补丁覆盖
2、重写preFilter方法
从第三方过来 与 eas自己的认证中心过来,请求头中的referer属性是不一样的,利用这个不同来区分票据是哪个中心生成的,从而将验证票据的地址进行修改
修改preFilter()方法

源码
HttpServletResponse resp = (HttpServletResponse)servletResponse; HttpServletRequest res = (HttpServletRequest)servletRequest; if(!FilterUtil.isUnFilter(servletRequest)){ String referer = res.getHeader("referer"); if(referer!=null && referer.contains("172.19.106.10")){ this.setCasServerUrlPrefix("http://172.19.106.10:6888/eassso/"); }else{ this.setCasServerUrlPrefix ("http://"+res.getLocalAddr()+":"+res.getLocalPort()+"/eassso/"); } constructLoginUrl(servletRequest); constructServerName(servletRequest); this.setTicketValidator(getTicketValidator()); return super.preFilter(servletRequest, servletResponse, filterChain); } else { filterChain.doFilter(servletRe
EAS系统对接第三方认证中心后保留自认证二开方案
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



