1

Я пытался реализовать пользовательскую аутентификацию, аутентификация работает нормально, но есть проблемы с авторизацией. Я использую маркеры JWT, любой API, к которому я пытаюсь получить доступ, и набрал мне 403 запрещенную ошибку. Я не уверен, что не так. У меня есть полный исходный код в github. https://github.com/vivdso/SpringAuthentication, волшебство весны не работает над этим. Любые указатели apperciated. Использование MongoDb в качестве моего хранилища для хранения учетных записей и ролей пользователей.
InMemory Authentication работает нормально, но Пользовательские проверки подлинности всегда returs 403, ниже моего Я продлил WebSecurityConfigurerAdapterПользовательская аутентификация - Ошибка загрузки весны 403 запрещена ошибка

@Autowired 
    public void configureAuthentication(AuthenticationManagerBuilder authenticationManagerBuilder) throws Exception { 
//  authenticationManagerBuilder.inMemoryAuthentication().withUser("admin").password("admin").roles("ADMIN"); 
//  authenticationManagerBuilder.inMemoryAuthentication().withUser("user").password("user").roles("USER"); 

authenticationManagerBuilder.authenticationProvider (getCustomAuthenticationProvider()); }

@Override 
protected void configure(HttpSecurity http) throws Exception { 
http 
       .authorizeRequests() 
       .antMatchers(HttpMethod.GET, "/customer").hasAuthority("ADMIN") 
       .antMatchers(HttpMethod.GET, "/order").hasAuthority("USER").and() 
       .csrf().disable(); 
    } 

@Bean 
    protected CustomAuthenticationProvider getCustomAuthenticationProvider(){ 
     return new CustomAuthenticationProvider(); 
    } 

У меня нет какой-либо пользовательской реализации для авторизации.

ответ

0

Проблема решена, я обновил репозиторий Github. Безопасность загрузки весны работала нормально, проблема заключалась в том, что роли, назначенные для коллекции пользователей, были строковым объектом Json (например, {"role": "ROLE_ADMIN"}) вместо объекта sting "ROLE_ADMIN".

С благодарностью

Смежные вопросы