Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvidas sobre segurança

Tenho essa classe, porém descobri um problema que tem me acontecido com ela... Quando eu uso o .antMatchers("/produtos").hasRole("ADMIN") essa pagina me redireciona para o login... porem se eu por localhost.../produtos/ da erro 500 falando: org.apache.jasper.JasperException: javax.el.PropertyNotFoundException: Property 'username' not found on type java.lang.String

ai se eu ponho a / no final do configure só funciona com a barra... minha solução foi por os 2 /produtos/ e /produtos

tem outro jeito de resolver isso?

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
            .antMatchers("/produtos/form").hasRole("ADMIN")
            .antMatchers("/carrinho/**").permitAll()
            .antMatchers("/produtos").hasRole("ADMIN")
            .antMatchers("/produtos/**").permitAll()
            .antMatchers("/resources/**").permitAll()
            .antMatchers("/pagamento/**").permitAll()
            .antMatchers("/").permitAll()
            .anyRequest().authenticated()
            .and().formLogin().loginPage("/login")
                .defaultSuccessUrl("/produtos").permitAll()
            .and().logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
                .permitAll().logoutSuccessUrl("/login");
1 resposta
solução!

Opa Pedro, eu já falei um pouco sobre isso aqui no blog => https://domineospring.wordpress.com/2015/08/28/sera-que-voce-realmente-esta-protegendo-suas-urls/

Você pode usar uma regex para mapear uma vez só ou explicar ao spring mvc que você quer ignorar certos tipos de url.