Предотвратить регистрацию Spring Boot в одном из пружинного фильтра безопасностиJAVA

Программисты JAVA общаются здесь
Anonymous
Предотвратить регистрацию Spring Boot в одном из пружинного фильтра безопасности

Сообщение Anonymous »

Я хотел бы отключить один из фильтров безопасности Spring в цепочке безопасности.

Код: Выделить всё

    @Bean
public FilterRegistrationBean registration(AnonymousAuthenticationFilter filter) {
FilterRegistrationBean registration = new FilterRegistrationBean(filter);
registration.setEnabled(false);
return registration;
}
< /code>
Spring Boot сразу же объявит, что нет квалификационного боба, что печально: < /p>

вызван: org.springframework.beans.factory.nosuchbeanditionExcept [org.springframework.security.web.authentication.AnonymousAuthenticationFilter] Найдено для зависимости: ожидается не менее 1 боба, который считается кандидатом на аутовиру для этой зависимости. Аннотации зависимости: {} < /p>
< /blockquote>
После создания другого боба: < /p>
    @SuppressWarnings("deprecation") // Oh, there be dragons
@Bean
public AnonymousAuthenticationFilter anonymousAuthenticationFilter() {
return new AnonymousAuthenticationFilter();
}
< /code>
Я атакован < /p>

, вызванный: java.lang.illegalargumentException: [Утверждение не удалось] - этот аргумент строки должен иметь длину; Он не должен быть нулевым или пустым < /p>
< /blockquote>
, что является совершенно недоступным; ASSERT 
s в efpropertiesset () Метод https://github.com/spring-projects/spri ... ionFilTers. Используя другой подход: < /p>
@Bean
public AnonymousAuthenticationFilter anonymousAuthenticationFilter() {
// it will be disabled anyway so...
return new AnonymousAuthenticationFilter("_", new Object(), new ArrayList());
}
< /code>
Все намного приятнее: < /p>

Информация 4916 --- [ost-startstop-1] o.s.b.c.embedded.filterRegistrationBean: Filter anonymousauthaticationfilter не был зарегистрирован (инвалидно) < /p>
venymousauthatication. [ost-startstop-1] o.s.security.web.filterchainproxy: инициализация фильтра «Springsecurityfilterchain '
отладка 4916 --- [ost-startstop-1] o.s.security.web.filterchainproxy: Filter' SpringSecurity /> < /blockquote>
Но после доступа к какому-либо ресурсу я получил: < /p>

Debug 4916 --- [NIO-8080- EXEC-3] O.S.Security.Web.filterChainProxy: /пользователь в позиции 10 в дополнительной цепочке фильтров; Фильтровый фильтр: 'Anonymousauthenticationfilter' < /p>
Debug 4916 --- [Nio-8080-exec-3] O.S.S.W.A.AnonyAuthenticationFilter: Заселенное SecurityContextholder с анонимным токеном: 'org.springframework.security.authentication.AnonymousAuthenticationtoken@90572420: Принципал: Anonymoususer; Условные данные: [защищен]; Аутентифицирован: правда; Подробная информация: org.springframework.security.web.authentication.webauthenticationdetails@255f8: remoteipaddress: 127.0.0.1; SessionId: 6B9D974A4634548750FE78C18F62A6B0; Предоставленные органы власти: role_anonymous '< /p>
< /blockquote>
По какой -то причине AnonymousauthenticationFilter все еще работает.
Вопрос: есть ли способ отключить такие фильтры в приложении Spring Boot? < /P>

Подробнее здесь: https://stackoverflow.com/questions/316 ... ity-filter

Вернуться в «JAVA»