2017-08-10 2 views
0

J'ai un scénario dans lequel je souhaite autoriser l'utilisateur à accéder à un point de terminaison particulier sur le serveur de ressources (8098) depuis l'application client (8080) sans authentification. Lorsque j'essaie d'y accéder sans authentification du client, l'accès aux erreurs est refusé. Mais lorsque j'accède au même point de terminaison après que l'utilisateur s'est connecté, il fonctionne.Printemps oauth2: accès à n'importe quel point de terminaison de serveur de ressources sans authentification

Je la configuration suivante au serveur de ressources:

@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() 
     } 
} 

fondamentalement, je veux faire de ce point final «/api/requestdetails/view-all-details/** chirographaires utilisateur peut y accéder sans authentification..

Répondre

0

J'ai fait quelques changements dans la méthode de configuration et maintenant il fonctionne.

@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() 


     } 
}