J'ai mis en œuvre le serveur d'autorisation et le serveur de ressources à l'aide de la chaussure à ressort. Le serveur d'autorisation fonctionne bien et je suis capable de recevoir des jetons. Mais mon serveur de ressources reste non protégé. Mon objectif est que le serveur de ressources ait été accessible que par une personne ayant un jeton d'accès valide.
Mon code entier est: P>
@Configuration public class WebSecurityGlobalConfig extends GlobalAuthenticationConfigurerAdapter { @Autowired UserService userService; @Override public void init(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .withUser("bill").password("abc123").roles("ADMIN").and() .withUser("bob").password("abc123").roles("USER"); } }
3 Réponses :
Annoter votre oauth2securityConfig avec @ENABLEGLOBALMETHODSecurity (Prepostenabled = TRUE) P>
Enfin après beaucoup de googling, j'ai trouvé la solution. P>
C'était dû à l'ordre des filtres. L'ordre du filtre à ressources OAuth2 a été modifié dans Spring-boot-1.5.1. Comme le logement de changement dit P>
L'ordre par défaut du filtre de ressources OAUTH2 est passé de 3 à SecurityProperties.Access_override_order - 1. Cela l'place après la Les points d'extrémité de l'actionneur mais avant la chaîne de filtrage d'authentification de base. La valeur par défaut peut être restaurée en définissant Security.Oauth2.Resource.Filter-Order = 3 P> blockQuote>
Donc, j'ai changé l'ordre de mon filtre de serveur de ressources OAuth2 à 3 en la définissant dans Application.Properties
Security.oauth2.Resource.filter-commander = 3 code> et mon problème a été résolu. p>
Merci m'a sauvé beaucoup de temps!
Cette propriété a été supprimée à Boot 2.x. Une solution pour cela?
J'ai eu le même problème. P>
J'ai eu une autre classe extension WebSecurityConfigureAdapter que je suppose était en conflit avec autorizationerverconfigureAdapter. P>
i juste
Tout est dans la même application ou séparément?
Tout dans une application seulement