Разрешить все URL-адреса, кроме одного, в Spring безопасности

Я хотел бы защитить только один URL-адрес, разрешая анонимный доступ ко всему остальному.

Примеры конфигурации Java, которые я вижу в Интернете, кажутся вам указанием явно permitAll каждого URL-адреса и соответствующего hasRole для URL-адресов, которые необходимо защитить. Это в моем случае создает действительно громоздкий Java-код, который я изменяю каждый раз, когда добавляю новый URL-адрес приложения. Есть ли более простая конфигурация java, которую я могу использовать.

Также обратите внимание, что в моем случае URL-адрес, который я защищаю, является под-ресурсом, скажем employee/me, я хотел бы, чтобы employee/list и т.д. были анонимно доступны.

Ответ 1

Если вы используете конфигурацию Java, вы можете использовать что-то вроде следующего в вашем методе configure:

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
            .authorizeRequests()
                .antMatchers("/employee/me").authenticated()
                .antMatchers("/**").permitAll();
}