Конфигурация Java Spring Security: как объединить требования с помощью логического или?

У меня есть веб-приложение, основанное на весенней загрузке, которое должно быть защищено с помощью базовой аутентификации http, за исключением того, что запрос отправляется с определенного IP-адреса.

Я могу настроить обе конфигурации для себя, но не объединить их с помощью или.

IP фильтр

private String allowedIp = "123.456.789.123/32";

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

или же

Базовая аутентификация HTTP

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.csrf().disable();
    http.authorizeRequests()
        .anyRequest().authenticated().and().httpBasic().authenticationEntryPoint(cncAuthEntryPoint);
}

Как я могу совместить эти две конфигурации?

я использую

  • Spring 5.0.4,
  • Spring Boot 2.0.0 и
  • Spring Security 5.0.3.

Вам нужна дополнительная информация?

Привет, а как насчет SPEL? http.authorizeRequests () .anyRequest () .access ("isAuthenticated () или hasIpAddress ('X.X.X.X')") .and (). httpBasic (). authenticationEntryPoint (cncAuthEntryPoin‌ t)

Vyncent 14.05.2018 17:44

Возможный дубликат Spring безопасность несколько hasIPAddress antMatchers

dur 14.05.2018 18:39

См. Также stackoverflow.com/a/44304683/5277820

dur 14.05.2018 18:40
2
4
332
0

Другие вопросы по теме