Когда я использую security.basic.enabled = false, чтобы отключить безопасность в проекте Spring Boot, который имеет следующие зависимости:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
Я вижу следующее исключение:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.actuate.autoconfigure.ManagementSecurityAutoConfiguration$ManagementWebSecurityConfigurerAdapter': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter.setObjectPostProcessor(org.springframework.security.config.annotation.ObjectPostProcessor); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.security.config.annotation.ObjectPostProcessor] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
Чтобы исправить это исключение, мне пришлось добавить свойство - management.security.enabled = false . Насколько я понимаю, когда исполнительный механизм находится в пути к классам, для отключения безопасности должны быть установлены параметры security.basic.enabled = false и management.security.enabled = false .
Может ли кто-нибудь сообщить мне, если я неправильно понимаю?
spring-security
spring-boot
user3600073
источник
источник
ClientDetails
. У вас будет транзитивный импорт spring -security, но, возможно, вам не понадобится базовая аутентификация в вашем сервисе.Ответы:
Что также, кажется, работает нормально, так это создание файла
application-dev.properties
, содержащего:Если вы затем запустите приложение Spring Boot с
dev
профилем, вам не нужно будет входить в систему.источник
security.ignored=/**
потом работал. stackoverflow.com/a/36280413/3291867Если у вас есть пружинный привод в комплекте, вы должны добавить следующие
В более старых версиях Spring-boot класс назывался
ManagementSecurityAutoConfiguration
.В более новых версиях это изменилось на
источник
Если вам нужна безопасность как зависимость, но вы не хотите, чтобы Spring Boot настраивал ее за вас, вы можете использовать это исключение:
источник
Для пользователей Spring boot 2 это должно быть
источник
@EnableWebSecurity
аннотациюДля Spring Boot 2 следующие свойства устарели в конфигурации application.yml
Чтобы отключить безопасность для Sprint Boot 2 Basic + Actuator Security, в файле application.yml можно использовать следующие свойства вместо исключения на основе аннотаций (@EnableAutoConfiguration (exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class}))
Для application.properties синтаксис будет как
источник
Шаг 1. Прокомментируйте аннотацию @EnableWebSecurity в конфигурации безопасности
Шаг 2: Добавьте это в свой файл application.properties .
Более подробную информацию смотрите здесь: http://codelocation.com/how-to-turn-on-and-off-spring-security-in-spring-boot-application/
источник
Добавьте следующий класс в свой код
И insie из application.properties добавить
источник
Если вы используете
@WebMvcTest
аннотацию в своем тестовом классетебе не помогает.
Вы можете отключить безопасность здесь
источник
Ответ - разрешить все запросы в WebSecurityConfigurerAdapter, как показано ниже.
вы можете сделать это в существующем классе или в новом классе.
Обратите внимание: если существует класс GlobalMethodSecurityConfiguration, вы должны отключить его.
источник
Разрешить доступ ко всему с помощью antMatchers ("/")
источник
Я просто добавил
security.ignored=/**
вapplication.properties
, и это сделало очарование.источник
В целях безопасности вы можете использовать аннотации. Используйте эту аннотацию поверх класса configure:
Например:
источник
@EnableWebSecurity
отключать веб-безопасность?Вам необходимо добавить эту запись в application.properties, чтобы обойти безопасность Springboot по умолчанию
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration
Тогда ящика аутентификации не будет. otrws, учетные данные: -
user
и99b962fa-1848-4201-ae67-580bdeae87e9
(пароль генерируется случайным образом)Note: my springBootVersion = '1.5.14.RELEASE'
источник
Вы можете настроить переключение Spring Security в своем проекте, выполнив следующие 2 шага:
ШАГ 1: Добавьте
@ConditionalOnProperty
аннотацию поверх вашего класса SecurityConfig. См. Ниже:ШАГ 2: Добавьте следующую конфигурацию в ваш
application.properties
илиapplication.yml
файл.application.properties
ИЛИ
application.yml
источник
Единственное, что у меня сработало:
а также
Возможно, часть свойств избыточна или может быть реализована в коде, но не было времени на эксперименты. В любом случае временно.
источник
Самый простой способ для Spring Boot 2 без зависимостей или изменений кода:
источник
Добавьте приведенные ниже строки в свое основное приложение.
Удалите org.activiti.spring.boot.SecurityAutoConfiguration.class, если вы не используете activiti.
Точно так же снимите один для привода, если вы не используете пружинный привод.
источник
Как упоминалось ранее, несколько решений для отключения безопасности путем комментирования
аннотация и прочее - через свойства в application.properties или yml. Но эти свойства отображаются как устаревшие в последней версии загрузки Spring.
Итак, я хотел бы поделиться другим подходом к настройке имени пользователя и пароля по умолчанию в вашем application-dev.properties или application-dev.yml и использовать их для входа в swagger и т.д. в среде разработки.
Таким образом, этот подход также обеспечит вам некоторую безопасность, и вы можете поделиться этой информацией со своей командой разработчиков. Вы также можете настроить роли пользователей, но это не требуется на уровне разработки.
источник
Я добавил ниже настройки в application.yml и работал нормально.
это может быть преобразовано как
security.route-paterns-to-be-skipped=/**/*
для application.propertiesисточник