Cuando uso security.basic.enabled = false para deshabilitar la seguridad en un proyecto Spring Boot que tiene las siguientes dependencias:
    <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>
Veo la siguiente excepción:
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: {}
Para solucionar esta excepción, tuve que agregar la propiedad - management.security.enabled = false . Tengo entendido que cuando el actuador está en la ruta de clase, tanto security.basic.enabled = false como management.security.enabled = false deben configurarse para deshabilitar la seguridad.
¿Podría alguien avisarme si mi comprensión es incorrecta?
                    
                        spring-security
                                spring-boot
                                
                    
                    
                        usuario3600073
fuente
                
                fuente

ClientDetails. Tendrá una importación transitiva de spring-security, pero tal vez no desee la autenticación básica en su servicio.Respuestas:
Lo que también parece funcionar bien es crear un archivo
application-dev.propertiesque contenga:Si luego inicia su aplicación Spring Boot con el
devperfil, no necesita iniciar sesión.fuente
security.ignored=/**luego trabajé. stackoverflow.com/a/36280413/3291867En caso de que tenga spring-boot-actuator en su paquete, debe agregar lo siguiente
Con Spring-boot más antiguo, se llamó a la clase
ManagementSecurityAutoConfiguration.En versiones más recientes esto ha cambiado a
fuente
Si necesita seguridad como dependencia pero no desea que Spring Boot la configure por usted, puede usar esta exclusión:
fuente
Para los usuarios de Spring Boot 2 tiene que ser
fuente
@EnableWebSecurityanotaciónPara Spring Boot 2, las siguientes propiedades están obsoletas en la configuración de application.yml
Para deshabilitar la seguridad para Sprint Boot 2 Basic + Actuator Security se pueden usar las siguientes propiedades en el archivo application.yml en lugar de la exclusión basada en anotaciones (@EnableAutoConfiguration (exclude = {SecurityAutoConfiguration.class, ManagementWebSecurityAutoConfiguration.class}))
Para la sintaxis de application.properties sería como
fuente
Paso 1: comentario de anotación @EnableWebSecurity en su configuración de seguridad
Paso 2: agregue esto a su archivo application.properties .
Para obtener más detalles, consulte aquí: http://codelocation.com/how-to-turn-on-and-off-spring-security-in-spring-boot-application/
fuente
Agregue la siguiente clase en su código
Y en el interior de application.properties agregue
fuente
Si está utilizando
@WebMvcTestanotaciones en su clase de pruebano te ayuda.
Puede deshabilitar la seguridad aquí
fuente
La respuesta es permitir todas las solicitudes en WebSecurityConfigurerAdapter como se muestra a continuación.
puede hacer esto en una clase existente o en una nueva clase.
Tenga en cuenta: si hay una clase GlobalMethodSecurityConfiguration existente, debe deshabilitarla.
fuente
Permitir el acceso a todo con antMatchers ("/")
fuente
Simplemente agregué
security.ignored=/**elapplication.properties, y eso hizo el encanto.fuente
Para evitar la seguridad, puede utilizar anotaciones. Utilice esta anotación en la parte superior de la clase de configuración:
Por ejemplo:
fuente
@EnableWebSecuritydeshabilitar la seguridad web?Debe agregar esta entrada a application.properties para omitir Springboot Default Security
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.SecurityAutoConfigurationEntonces no habrá ningún cuadro de autenticación. otrws, las credenciales son: -
usery99b962fa-1848-4201-ae67-580bdeae87e9(contraseña generada aleatoriamente)Note: my springBootVersion = '1.5.14.RELEASE'fuente
Puede configurar para alternar la seguridad de primavera en su proyecto siguiendo los siguientes 2 pasos:
PASO 1: agregue una
@ConditionalOnPropertyanotación en la parte superior de su clase SecurityConfig. Consulte a continuación:PASO 2: Agregue la siguiente configuración a su archivo
application.propertiesoapplication.yml.application.properties
O
application.yml
fuente
Lo único que funcionó para mí:
y
Podría ser que la parte de propiedades sea redundante o se pueda hacer en código, pero no hubo tiempo para experimentar. De todos modos es temporal.
fuente
La forma más fácil de Spring Boot 2 sin dependencias o cambios de código es simplemente:
fuente
Agregue las siguientes líneas a su aplicación principal.
Elimine org.activiti.spring.boot.SecurityAutoConfiguration.class si no está usando activiti.
Del mismo modo, retire el del actuador si no está utilizando spring-boot-actuator.
fuente
Como se mencionó anteriormente, varias soluciones para deshabilitar la seguridad mediante comentarios de
la anotación y otras son a través de propiedades en application.properties o yml. Pero esas propiedades se muestran como obsoletas en la última versión de Spring Boot.
Por lo tanto, me gustaría compartir otro enfoque para configurar el nombre de usuario y la contraseña predeterminados en su application-dev.properties o application-dev.yml y usarlos para iniciar sesión en swagger, etc.en el entorno de desarrollo.
Por lo tanto, este enfoque también le proporcionará algún tipo de seguridad y puede compartir esta información con su equipo de desarrollo. También puede configurar roles de usuario, pero no es necesario en el nivel de desarrollo.
fuente
Agregué la siguiente configuración en application.yml y funcionó bien.
esto se puede convertir como
security.route-paterns-to-be-skipped=/**/*para application.propertiesfuente