Мы используем activiti v5.18 и весеннюю загрузку. Чтобы вызвать REST API Activiti, мы должны создать пользователя Activiti для прохождения базовой аутентификации. Насколько я знаю, безопасность activiti основана на безопасности весенней загрузки, мы попробовали два подхода.
Исключить автоматическую настройку безопасности Activiti Spring Boot Security
@EnableAutoConfiguration(exclude = {org.activiti.spring.boot.SecurityAutoConfiguration.class})
Создайте класс для расширения класса spring «WebSecurityConfigurerAdapter) и установите «security.basic.enabled = false» в application.properties.
@Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) @Order(SecurityProperties.ACCESS_OVERRIDE_ORDER) public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { // @formatter:off http .authorizeRequests() .antMatchers(HttpMethod.GET, "/","/static/**", "/resources/**","/resources/public/**").permitAll() .anyRequest().authenticated() .and() .formLogin() .and() .httpBasic().disable() .requiresChannel().anyRequest().requiresSecure(); // @formatter:on } }
К сожалению, ни один из них не отключает базовую аутентификацию, когда я перехожу на страницу 'http://localhost:8080/repository/deployments', в браузере открывается окно входа пользователя. И показать сообщение об ошибке на странице
Это приложение не имеет явного сопоставления для /error, поэтому вы рассматриваете это как запасной вариант.
Произошла непредвиденная ошибка (type=Unauthorized, status=401). Для доступа к этому ресурсу требуется полная аутентификация
Кроме того, у нас есть собственная служба REST, когда клиент вызывает нашу службу REST, браузер также запрашивает ввод пользователя/пароля REST.
Есть ли способ отключить базовую аутентификацию REST HTTP?