2017-08-10 116 views
0

我有一个场景,我想让用户无需身份验证即可从客户端应用程序(运行于8080)访问资源服务器(运行于8098)的特定端点。当我试图在没有客户端身份验证的情况下访问它时,它会使错误访问被拒绝。但是当我在用户登录后访问相同的端点时,它工作正常。Spring oauth2:无需身份验证即可访问任何资源服务器端点

我有以下的资源服务器配置:

@Configuration 
    @EnableResourceServer 
    public class ResourceServerConfiguration extends ResourceServerConfigurerAdapter { 

     @Autowired 
     private CustomUserDetailsService userDetailsService; 

     public ResourceServerConfiguration() { 
      super(); 
     } 

     @Override 
     public void configure(HttpSecurity http) throws Exception { 
      http 
       .anonymous() 
       .and() 
       .authorizeRequests() 
       .antMatchers("/api/requestdetails/view-all-details/**").permitAll() 
       .anyRequest().authenticated() 
     } 
} 

基本上我想使这个端点“/ API/requestdetails /视图所有细节/ **担保这样用户可以访问其不进行验证。

回答

0

我没有在配置方法和一些变化,现在它的工作。

@Configuration 
    @EnableResourceServer 
    public class ResourceServerConfiguration extends ResourceServerConfigurerAdapter { 

     @Autowired 
     private CustomUserDetailsService userDetailsService; 

     public ResourceServerConfiguration() { 
      super(); 
     } 


     @Override 
     public void configure(HttpSecurity http) throws Exception { 
      http 
       .antMatcher("/**") 
       .authorizeRequests() 
       .antMatchers(HttpMethod.GET, "/api/requestdetails/view-all-details/**").permitAll() 
       .antMatchers("/api/**").authenticated() 


     } 
} 
相关问题