
com.digitalchina.platform.security.config.SecurityWebConfigurer Maven / Gradle / Ivy
The newest version!
package com.digitalchina.platform.security.config;
import com.digitalchina.platform.security.logout.SingleSignOutFilter;
import com.digitalchina.platform.security.properties.CasProperties;
import org.apache.commons.lang.StringUtils;
import org.jasig.cas.client.session.SingleSignOutHttpSessionListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletListenerRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Created with IntelliJ IDEA.
* User: 胡本强
* Date: 2017-04-12:14:17
*/
@Configuration
public class SecurityWebConfigurer {
@Autowired
private CasProperties casProperties;
/**
* 用于实现单点登出功能
* @return ServletListenerRegistrationBean
*/
@Bean
public ServletListenerRegistrationBean singleSignOutHttpSessionListener() {
ServletListenerRegistrationBean listener = new ServletListenerRegistrationBean();
listener.setEnabled(true);
listener.setListener(new SingleSignOutHttpSessionListener());
listener.setOrder(1);
return listener;
}
/**
* 该过滤器用于实现单点登出功能,单点退出配置,一定要放在其他filter之前
* @return FilterRegistrationBean
*/
@Bean
public FilterRegistrationBean singleSignOutFilter() {
FilterRegistrationBean filterRegistration = new FilterRegistrationBean();
filterRegistration.setFilter(new SingleSignOutFilter());
filterRegistration.setEnabled(true);
filterRegistration.addUrlPatterns("/*");
filterRegistration.addInitParameter("cluterLogoutPower", String.valueOf(casProperties.getCluterLogoutPower()));
if (StringUtils.isNotEmpty(casProperties.getGatewayNotesUrl())) {
filterRegistration.addInitParameter("gatewayNotesUrl", casProperties.getGatewayNotesUrl());
}
if (StringUtils.isNotEmpty(casProperties.getAppName())) {
filterRegistration.addInitParameter("appName", casProperties.getAppName());
}
if (StringUtils.isNotEmpty(casProperties.getApiKey())) {
filterRegistration.addInitParameter("apiKey", casProperties.getApiKey());
}
filterRegistration.setOrder(2);
return filterRegistration;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy