1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Interceptar URL via REST Spring Boot

Olá, estou implementado um modulo para garantir os acessos ao sistema através de uma tela de permissões que será armazenado no Banco de Dados. Porém, implementei essa regra na classe que estende da WebSecurityConfigurerAdapter:


@EnableWebSecurity
public class WebSecurityConfiguration {

    @Configuration
    @Order(1)
    public static class MultiHttpSecurityConfig extends WebSecurityConfigurerAdapter {
        @Autowired
        private CandidateService candidateService;

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

        @Override
        protected void configure(final HttpSecurity http) throws Exception {

            http.antMatche("/candidate/")
                .authorizeRequests()
                    .antMatchers("/candidate/*.*").access("hasRole('USER')")
                    .antMatchers("/assets/**").permitAll()
                    .antMatchers("/layout/**").permitAll()
                    .antMatchers("/pages/**").permitAll()
                    .and()
                    .formLogin().loginPage("/candidate/login").failureUrl("/candidate/login?error").permitAll()
                    .and()
                    .logout().logoutRequestMatcher(new AntPathRequestMatcher("/candidate/logout")).logoutSuccessUrl("/candidate/login")
                    .deleteCookies("JSESSIONID");
        }

    }

   //....

O problema é que esta classe é carregada apenas na inicialização do Tomcat. É possível bloquear em Runtime a url, por exemplo, "/candidate/*"? Isso vindo do banco de dados?

Tentei recuperar o HttpSecurity http e dar um apply novamente, porém, o mesmo causa erro dizendo que já foi configurado.

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags spring-security java ou faça a sua própria pergunta.