Сделайте ресурсы JSF общедоступными с помощью Spring Security

Я реализовал Spring Security в моем приложении JSF. Все работает нормально, кроме статических ресурсов, требующих аутентификации. Это моя конфигурация

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable();

    http.authorizeRequests()
            .antMatchers("/register", "/resources/**").permitAll()
            .anyRequest().authenticated()
            .and().formLogin().loginPage("/login").permitAll()
           .usernameParameter("username").passwordParameter("password")
            .and().exceptionHandling().accessDeniedPage("/Access_Denied");
}

После некоторого поиска в Google большинство решений заключалось в добавлении тега ресурса mvc.

  <mvc:resources mapping="/resources/**" location="/resources/"
    cache-period="31556926"/>

Я нашел аналогичную аннотацию и добавил для этого класс конфигурации

@Configuration
@EnableWebMvc
public class WebMvcConfig extends WebMvcConfigurerAdapter {

    // equivalents for <mvc:resources/> tags
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/").setCachePeriod(31556926);
    }

    // equivalent for <mvc:default-servlet-handler/> tag
    @Override
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }
}

Но все же статические ресурсы требуют аутентификации. Некоторая помощь была бы хороша о том, как заставить это работать.

Примечание: мои ресурсы размещены в/src/main/webapp/resources/{css|js|image}, И проблема в том, что если пользователь не вошел в систему, эффект css, js не отображается на странице входа. После того, как пользователь вошел в систему один раз, а затем зашел на страницу входа в систему, появляется эффект css.

Ответы на вопрос(1)

Ваш ответ на вопрос