SSO - CAS:不拦截指定url过滤
发布时间:2018-07-09 23:46,
浏览次数:1045
, 标签:
SSO
CAS
url
首先我们看一下我们客户端中web.xml中的拦截器配置
CASFilter
org.jasig.cas.client.authentication.AuthenticationFilter <
init-param> casServerLoginUrl
http://ssocas.ane56.com:8080/cas/login
serverNamehttp://ptl.ane56.com:8080
param-value> CASFilter
filter-name> /*
重要的操作无非就是客户端jar包中的AuthenticationFilter,然后上网查了下,无非就是将这个拦截方法重写。
反编译一下
然后将该拦截器贴一下
package org.jasig.cas.client.authentication; import java.io.IOException; import
javax.servlet.FilterChain;import javax.servlet.FilterConfig; import
javax.servlet.ServletException;import javax.servlet.ServletRequest; import
javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import
javax.servlet.http.HttpSession;import org.apache.commons.logging.Log; import
org.jasig.cas.client.util.AbstractCasFilter;import
org.jasig.cas.client.util.CommonUtils;import
org.jasig.cas.client.validation.Assertion;public class AuthenticationFilter
extends AbstractCasFilter { private String casServerLoginUrl; private boolean
renew =false; private boolean gateway = false; private GatewayResolver
gatewayStorage =new DefaultGatewayResolverImpl(); protected void initInternal
(FilterConfig filterConfig)throws ServletException { if
(!isIgnoreInitConfiguration()) {super.initInternal(filterConfig);
setCasServerLoginUrl(getPropertyFromInitParams(filterConfig,"casServerLoginUrl",
null)); this.log.trace("Loaded CasServerLoginUrl parameter: " + this
.casServerLoginUrl);
setRenew(parseBoolean(getPropertyFromInitParams(filterConfig,"renew", "false"
)));this.log.trace("Loaded renew parameter: " + this.renew);
setGateway(parseBoolean(getPropertyFromInitParams(filterConfig,"gateway",
"false"))); this.log.trace("Loaded gateway parameter: " + this.gateway); String
gatewayStorageClass = getPropertyFromInitParams(filterConfig,
"gatewayStorageClass", null); if (gatewayStorageClass != null) try { this
.gatewayStorage =
((GatewayResolver)Class.forName(gatewayStorageClass).newInstance()); }catch
(Exception