package com.gk.firework.Config.Oauth2; import com.gk.firework.Domain.Utils.Constants; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.oauth2.config.annotation.web.configuration.EnableResourceServer; import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter; import org.springframework.security.oauth2.config.annotation.web.configurers.ResourceServerSecurityConfigurer; import org.springframework.security.oauth2.provider.token.TokenStore; import org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter; import org.springframework.security.web.authentication.www.BasicAuthenticationFilter; /** * resource config * * @author zhangby * @date 2019-05-19 12:08 */ @Configuration @EnableResourceServer public class ResourceServerConfig extends ResourceServerConfigurerAdapter { Logger log = LoggerFactory.getLogger(ResourceServerConfig.class); //去除部分不需要token的url FILTER_EXCLUDE_PATH @Override public void configure(HttpSecurity http) throws Exception { http .csrf().disable() .logout().disable() .addFilterBefore(new AccessTokenFilter(), BasicAuthenticationFilter.class) .authorizeRequests() .antMatchers(Constants.FILTER_EXCLUDE_PATH.split(",")).permitAll() .antMatchers("/**").authenticated(); } @Override public void configure(ResourceServerSecurityConfigurer resources) throws Exception { resources.resourceId("oauth-client").tokenStore(tokenStore); } @Autowired TokenStore tokenStore; @Autowired JwtAccessTokenConverter tokenConverter; }