Общее использование метода WebSecurity ignoring()
Опускает Spring Security , и ни одна из функций Spring Security не будет доступна.
WebSecurity базируется выше HttpSecurity.
@Override
public void configure(WebSecurity web) throws Exception {
web
.ignoring()
.antMatchers("/resources/**")
.antMatchers("/publics/**");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/admin/**").hasRole("ADMIN")
.antMatchers("/publics/**").hasRole("USER") // no effect
.anyRequest().authenticated();
}
WebSecurity в приведенном выше примере позволяет Spring игнорировать /resources/**
и /publics/**
. Поэтому .antMatchers("/publics/**").hasRole("USER")
в HttpSecurity без рассмотрения .
Это полностью исключит шаблон запроса из цепочки фильтров безопасности.
Обратите внимание, что на все, что идет по этому пути, не будут применяться службы аутентификации или авторизации, и они будут свободно доступны.
configure(HttpSecurity)
позволяет настраивать сетевую безопасность на уровне ресурсов на основе соответствия выбора - например, В приведенном ниже примере URL-адреса, начинающиеся с /admin/
, ограничиваются пользователями, имеющими роль ADMIN , и объявляет, что любые другие URL-адреса должны быть успешно аутентифицированы.
configure(WebSecurity)
используется для параметров конфигурации, которые влияют на глобальную безопасность (игнорирование ресурсов, установка режима отладки, отклонение запросов путем реализации пользовательского определения брандмауэра). Например, следующий метод приведет к тому, что любой запрос, начинающийся с /resources/
, будет игнорироваться для целей аутентификации .