URL-адрес безопасности Spring перехватывает несколько условий для 1 шаблона

#spring #spring-boot #spring-security

Вопрос:

Мне нужна логика, примерно эквивалентная:

         .antMatchers("/home/**").hasAnyAuthority("ROLE_1", "ROLE_2")
        .antMatchers("/home/**").not().hasAuthority("ROLE_BAD")
 

Где пользователь будет включен, если у него есть ОПЦИЯ 1 или 2, и у них нет ПЛОХИХ. Aka

 (ROLE_1 || ROLE_2) amp;amp; ROLE_BAD
 

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

Я также пытался использовать ! оператор для отрицания, но это не работает с «hasAnyAuthority», потому что он рассматривает его как другое ИЛИ условие.

Комментарии:

1. Используйте antMatchers(«/home/**»).доступ(«Ваше выражение») весенние документы docs.spring.io/spring-security/site/docs/4.2.x/reference/html/…