Безопасность Spring с фильтрами только для определенного URL - PullRequest
0 голосов
/ 14 февраля 2019

Я хочу, чтобы безопасность срабатывала только для определенных URL-адресов с ключом, я думаю, что происходит, что я обхожу пружинную безопасность, но добавленный фильтр авторизации, который расширяет BasicAuthenticationFilter, запускается с каждым URL-адресом, как я могу установить URL длядобавлен BasicAuthenticationFilter также.Я реализую токен JWT.

Это мой конфиг:

@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    private UserServiceImpl userService;
    @Autowired
    private PasswordEncoder passwordEncoder;

    @Override
    public void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userService).passwordEncoder(new BCryptPasswordEncoder());
    }



    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.cors()
                .and()
                .csrf()
                .disable().authorizeRequests()
                .antMatchers("**/auth/**").authenticated()
                .anyRequest().permitAll()
                .and()
                .addFilter(new AuthorizationFilter(authenticationManager()))
                .addFilter(authenticationFilter())
                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);


        http.headers().cacheControl();
    }
    public AuthenticationFilter authenticationFilter() throws Exception{
        final AuthenticationFilter authenticationFilter  = new AuthenticationFilter(authenticationManager());
        authenticationFilter.setFilterProcessesUrl("/login");
        return authenticationFilter ;
    }

}

1 Ответ

0 голосов
/ 14 февраля 2019

Опции

  1. Расширить BasicAuthenticationFilter и, как следствие наследования, вы можете написать свой собственный подход к аутентификации, во время выполнения будут учитываться методы из подкласса.со стороны весны безопасности.
  2. Расширьте AbstractAuthenticationFilter и выполните там необходимую фильтрацию.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...