securtyConfig中已经apply了这个配置,但是“auth/qq” 却没有进入springsocial的过滤器,而是被当成普通请求直接进入了springsecurity的过滤器,
请求大佬指导yi'xia
新版的io.spring.platform集成的jar包是没有spring social的自动配置类的(SocialAutoConfigurerAdapter),可以直接使用其父类进行配置
```package com.zxx.security.core.social;
import com.zxx.security.core.properties.QQProperties;
import com.zxx.security.core.properties.SecurityProperties;
import com.zxx.security.core.social.qq.SpringSocialConfig;
import com.zxx.security.core.social.qq.connect.QQConnectionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.security.crypto.encrypt.Encryptors;
import org.springframework.social.UserIdSource;
import org.springframework.social.config.annotation.ConnectionFactoryConfigurer;
import org.springframework.social.config.annotation.EnableSocial;
import org.springframework.social.config.annotation.SocialConfigurerAdapter;
import org.springframework.social.connect.ConnectionFactory;
import org.springframework.social.connect.ConnectionFactoryLocator;
import org.springframework.social.connect.UsersConnectionRepository;
import org.springframework.social.connect.jdbc.JdbcUsersConnectionRepository;
import org.springframework.social.security.SpringSocialConfigurer;
import javax.sql.DataSource;
/**
* @Auther: zxx
* @Date: 2019/4/17 23:17
* @Description:
*/
@Configuration
@EnableSocial
public class SocialConfig extends SocialConfigurerAdapter {
@Autowired
private DataSource dataSource;
@Autowired
private SecurityProperties securityProperties;
@Override
public UserIdSource getUserIdSource() {
return new UserIdSource() {
public String getUserId() {
return "zxx";
}
};
}
@Override
public void addConnectionFactories(ConnectionFactoryConfigurer connectionFactoryConfigurer, Environment environment) {
connectionFactoryConfigurer.addConnectionFactory(createConnectionFactory());
}
public ConnectionFactory<?> createConnectionFactory() {
QQProperties qqProperties = securityProperties.getSocialProperties().getQqProperties();
return new QQConnectionFactory("qq", qqProperties.getAppId(), qqProperties.getAppSecret());
}
@Override
public UsersConnectionRepository getUsersConnectionRepository(ConnectionFactoryLocator connectionFactoryLocator) {
return new JdbcUsersConnectionRepository(dataSource,connectionFactoryLocator, Encryptors.noOpText());
}
@Bean
public SpringSocialConfigurer zxxspringSocialConfigurer(){
SpringSocialConfig config=new SpringSocialConfig("/auth");
return config;
}
}