[英]How to override default Spring Boot Login page?
我对Spring Boot 2完全陌生,并且有一个我要运行的简单应用程序。 不幸的是,每次我运行服务时,都会得到Spring Boot的此登录表单。 有什么办法可以改写吗?
我已经尝试过此问题的解决方案,但对我而言不起作用:
如何在Spring Boot中覆盖Spring Security默认配置
到目前为止,这是我需要的代码:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.ImportResource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* Defines the application, supports service registry, circuit breaker
* for Spring Boot application.
*
* @EnableJpaRepositories - add this to enable
*
* @author himanshu sharma
* @since June 2017
*/
@EnableDiscoveryClient
@EnableCircuitBreaker
@EnableHystrixDashboard
@EnableSwagger2
@EnableCaching
@SpringBootApplication
@ImportResource("classpath:service-config.xml")
@ComponentScan(basePackages = "com.manulife.ap.*, io.swagger")
public class Application{
@Autowired
DiscoveryClient discoveryClient;
/**
* Application start point.
* @param args
*/
public static void main(String[] args){
SpringApplication.run(Application.class, args);
}
@RequestMapping(value="/greeting", method=RequestMethod.GET)
public String sayHello () {
return "Hello from Spring Boot!";
}
}
- 编辑:@devshawn-
我尝试了排除SecurityAutoConfiguration.class
的解决方案,但是当我尝试访问端点时却以某种方式收到此错误消息:
我假设您使用的是Spring Boot 2,因为您没有提到要使用哪个版本的Spring。 在Spring Boot 2中,您无法像在Spring Boot 1中那样通过属性文件禁用默认登录。根据您要实现的目标,有几种方法可以执行此操作。
添加一个标题为SecurityConfig
的类,如下所示:
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/**").permitAll();
}
}
这将删除服务中所有端点上的身份验证。 稍后,您可以通过此类进一步配置安全性。
当在类路径上找到Spring Security时,Spring Boot会自动配置安全性。 如果您不希望通过更改@SpringBootApplication
批注自动配置它,则可以将其全部删除。
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.