代码拉取完成,页面将自动刷新
同步操作将从 heavenick/cas-client-core 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
修改了部分代码,目的是支持登出操作,与在反向代理环境中,能够获取正确的请求信息
// 登出 start 。
if(assertion != null && CommonUtils.isNotBlank(casServerLogoutUrl) ) {
String url = request.getRequestURI();
String contextpath = request.getContextPath();
if (url.startsWith(contextpath)) {
url = url.substring(contextpath.length() + 1);
}
logger.debug("request url : {}", url);
if (url.equals(logoutUrl)) {
// request.getSession().invalidate();
final String serviceUrl = constructServiceUrl(request, response);
String modifiedServiceUrl = serviceUrl.replace(url,"");
logger.debug("logout url service url: {}", modifiedServiceUrl);
final String urlToRedirectTo = CommonUtils.constructRedirectUrl(this.casServerLogoutUrl,
getProtocol().getServiceParameterName(), modifiedServiceUrl, this.renew, this.gateway);
this.authenticationRedirectStrategy.redirect(request, response, urlToRedirectTo);
return;
}
}
// 登出 end 。
FORWARDED_HEADER_HOST = "x-forwarded-host";
FORWARDED_HEADER_PORT = "x-forwarded-port";
FORWARDED_HEADER_PROTO = "x-forwarded-proto";
###配置###
<context-param>
<param-name>serverName</param-name>
<param-value>127.0.0.1 localhost</param-value>
</context-param>
<filter>
<!-- cas 登出拦截器 -->
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>http://127.0.0.1:8443/cas</param-value>
<!-- cas server 端地址的配置。 这个主要是用户登出用的 -->
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<!-- 判断用户时候进行登录的,没有今登陆将跳转到casServerLoginUrl页面进行登录,这里手动实现了一下,用于登出 -->
<filter-name>CAS Authentication Filter</filter-name>
<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
<init-param>
<param-name>logoutUrl</param-name>
<param-value>managerloginout.jsf</param-value>
</init-param>
<init-param>
<param-name>casServerLoginUrl</param-name>
<param-value>http://127.0.0.1:8443/cas/login</param-value>
</init-param>
<init-param>
<param-name>casServerLogoutUrl</param-name>
<param-value>http://127.0.0.1:8443/cas/logout</param-value>
</init-param>
<init-param>
<param-name>ignorePattern</param-name>
<param-value>^.*[.](js|css|gif|png|zip)$</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<!-- 用于进行ticket认证 -->
<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
<init-param>
<!-- ticket 认证的地址,这里配置的是内网地址-->
<param-name>casServerUrlPrefix</param-name>
<param-value>http://127.0.0.1:8443/cas</param-value>
</init-param>
<init-param>
<param-name>redirectAfterValidation</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>acceptAnyProxy</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>useSession</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。