example - spring-security-config
Spring boot Security Deshabilitar seguridad (10)
Agregue las siguientes líneas a su aplicación principal.
Elimine org.activiti.spring.boot.SecurityAutoConfiguration.class si no está utilizando activiti.
Del mismo modo, retire el del actuador si no está utilizando el actuador de arranque de resorte.
@EnableAutoConfiguration(exclude = {
org.activiti.spring.boot.SecurityAutoConfiguration.class,
org.springframework.boot.actuate.autoconfigure.ManagementWebSecurityAutoConfiguration.class,
org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class })
Cuando uso security.basic.enabled = false para deshabilitar la seguridad en un proyecto de 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 arreglar esta excepción, tuve que agregar la propiedad - management.security.enabled = false . Según tengo entendido, cuando el actuador se encuentre en classpath, tanto security.basic.enabled = false como manage.security.enabled = false se deben configurar para deshabilitar la seguridad.
¿Podría alguien decirme si mi entendimiento es incorrecto?
Debe agregar esta entrada a application.properties para evitar Springboot Default Security
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration
Entonces no habrá ningún cuadro de autenticación. otrws, credenciales son: - user
y 99b962fa-1848-4201-ae67-580bdeae87e9
(contraseña generada al azar)
Note: my springBootVersion = ''1.5.14.RELEASE''
En caso de que tenga un actuador de arranque por resorte en su paquete, debe agregar lo siguiente
@EnableAutoConfiguration(exclude = {
org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class,
org.springframework.boot.actuate.autoconfigure.ManagementWebSecurityAutoConfiguration.class})
Con Spring-boot más antiguo, la clase se llamaba ManagementSecurityAutoConfiguration
.
Lo que también parece funcionar bien es crear un archivo application-dev.properties
que contenga:
security.basic.enabled=false
management.security.enabled=false
Si luego inicia su aplicación Spring Boot con el perfil dev
, no necesita iniciar sesión.
Para evitar la seguridad, puede usar anotaciones. Use esta anotación en la parte superior de la clase de configuración:
@EnableWebSecurity
Por ejemplo:
@EnableWebSecurity
@Configuration
public class AuthFilter{
// configured method
}
Para la bota de primavera 2 usuarios tiene que ser
@EnableAutoConfiguration(exclude = {
org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
})
Paso 1: comentario de la anotación @EnableWebSecurity en su configuración de seguridad
//@EnableWebSecurity
Paso 2: agregue esto a su archivo application.properties .
security.ignored=/**
spring.security.enabled=false
management.security.enabled=false
security.basic.enabled=false
Para obtener más detalles, consulte aquí: http://codelocation.com/how-to-turn-on-and-off-spring-security-in-spring-boot-application/
Permitir acceso a todo usando AntMatchers ("/")
protected void configure(HttpSecurity http) throws Exception {
System.out.println("configure");
http.csrf().disable();
http.authorizeRequests().antMatchers("/").permitAll();
}
Si necesita seguridad como dependencia pero no desea que Spring Boot lo configure por usted, puede usar esta exclusión:
@EnableAutoConfiguration(exclude = {
org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class
})
Simplemente agregué security.ignored=/**
en la application.properties
, y eso hizo el encanto.