对于不同的授权提供者,Spring-boot安全上下文的主体为空

时间:2019-07-12 00:03:44

标签: java spring spring-boot spring-security

我正在尝试为oAuth Resource服务器配置应用程序。我已将应用程序配置为指向两个不同的授权提供程序。唯一的变化是下面两个属性。对于一个我要获取主要对象,对于另一个我要获取主要对象。在控制器和审计跟踪事件中也是如此。我不知道正在发生什么。我看到了很多相关的问题,但是没有一个答案。

security.oauth2.resource.id=
security.oauth2.resource.jwk.key-set-uri=

我尝试过交换参数。

@EnableResourceServer
public class ApplicationSecurityConfig extends ResourceServerConfigurerAdapter {

@Override
public void configure(ResourceServerSecurityConfigurer resources) throws Exception {
    resources.resourceId(resourceid);
}

@Override
public void configure(HttpSecurity http) throws Exception {
    //Disabling the csrf
    http.csrf().disable();
    //whitelist the swagger end points.
    http.authorizeRequests().antMatchers("/swagger-resources",
            "/swagger-resources/**","/swagger-ui.html").permitAll().anyRequest().authenticated();
}

@Bean
public FilterRegistrationBean corsFilter() {
    UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
    CorsConfiguration config = new CorsConfiguration();
    config.setAllowCredentials(true);
    config.addAllowedOrigin("*");
    config.addAllowedHeader("*");
    config.addAllowedMethod("*");
    source.registerCorsConfiguration("/**", config);
    FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));
    bean.setOrder(Ordered.HIGHEST_PRECEDENCE);
    return bean;
}

}

我需要获得两种情况的主要对象。但是不幸的是,在一种情况下,我没有得到主要对象。这与授权服务器的设置有关吗?

0 个答案:

没有答案