All Downloads are FREE. Search and download functionalities are using the official Maven repository.

spring.auto.boot.SsoAppSpringBootAutoConfiguration Maven / Gradle / Ivy

The newest version!
/*
 * @(#)SsoAppSpringBootAutoConfiguration.java	2021-10-27
 *
 * Copyright (c) 2021. All Rights Reserved.
 *
 */

package spring.auto.boot;

import java.util.EventListener;

import javax.servlet.Filter;

import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
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;
import org.springframework.web.context.request.RequestContextListener;

import com.github.javaclub.sso.web.filter.SsoCorsFilter;

import spring.auto.boot.processor.SsoAppProcessor;

/**
 * SsoAppSpringBootAutoConfiguration
 *
 * @author Gerald Chen
 * @version $Id: SsoAppSpringBootAutoConfiguration.java 2021-10-27 11:36:58 Exp $
 */
@Configuration
public class SsoAppSpringBootAutoConfiguration {

	@Bean
	@ConditionalOnMissingBean(SsoAppProcessor.class)
	public SsoAppProcessor ssoClientConfig() {
		return new SsoAppProcessor();
	}
	
	@Bean
	@ConditionalOnMissingBean(SsoCorsFilter.class)
    public FilterRegistrationBean serverCorsFilter() {
        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
        SsoCorsFilter corsFilter = new SsoCorsFilter();
        filterRegistrationBean.setFilter(corsFilter);
        filterRegistrationBean.addUrlPatterns("/*");
        filterRegistrationBean.setEnabled(true);
        filterRegistrationBean.setOrder(1);
        return filterRegistrationBean;
    }
	
	@Bean
	@ConditionalOnMissingBean
    public ServletListenerRegistrationBean requestContextListener() {
        ServletListenerRegistrationBean listener = new ServletListenerRegistrationBean();
        listener.setListener(new RequestContextListener());
        return listener;
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy