3
respostas

Spring Security Dúvida.

Olá pessoal, quero negar acesso específico a uma página para uma role, como fazer isso ?

            .antMatchers("/",
                    "/error/**").permitAll()
            .antMatchers(
                    "/**/delete/**",
                    "/**/rebuild/**",
                    "/**/edit/**",
                    "/**/add/**").access("hasRole('ADMIN') || hasRole('HERO')")
            .antMatchers(
                    "/user/add/",
                    "/user/role/**",
                    "/user/active/**",
                    "/configuration/**").access("hasRole('HERO')")

a página /user/add/ quero apenas para role HERO, mas como ADMIN estou conseguindo acessar.

Como fazer isso ?

O ADMIN tem que continuar acessando todos os /add/ menos o /user/add/

Muuito obrigado.

3 respostas

O ADMIN tem que acessar todas as páginas então é natural que isso aconteça.

Olá @André Victor, nesse caso é uma regra de negócio específica, eu não quero que isso aconteceça e minha dúvida é justamente a que falei acima. E Admin é uma questão de nomenclatura, poderia ser qualquer outro nome de Role.

Entendi, dá uma olhada nesse artigo e veja se te atende https://domineospring.wordpress.com/2016/01/06/access-control-list-protegendo-o-acesso-a-seus-objetos/