首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何覆盖默认的Spring Boot登录页面?

如何覆盖默认的Spring Boot登录页面?
EN

Stack Overflow用户
提问于 2019-04-08 07:13:31
回答 1查看 557关注 0票数 0

我是Spring Boot2的新手,我正在尝试运行这个简单的应用程序。不幸的是,每次我运行我的服务时,我都会得到来自Spring Boot的这个登录表单。我有什么方法可以覆盖它吗?

我已经尝试了这个问题的解决方案,但它对我不起作用:

How to override Spring Security default configuration in Spring Boot

以下是我到目前为止所拥有的代码:

代码语言:javascript
复制
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!";
    }
}

--EDIT:@devshawn--

我尝试了排除SecurityAutoConfiguration.class的解决方案,但是当我试图访问我的端点时,不知何故得到了这个错误消息:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-08 08:47:26

我假设您使用的是Spring Boot 2,因为您没有提到您使用的是哪个版本的Spring。在spring Boot2中,您不能像在spring Boot1中那样,通过属性文件禁用默认登录。有几种方法可以做到这一点,这取决于您试图实现的目标。

允许所有访问,稍后保护端点

添加一个标题为SecurityConfig的类,如下所示:

代码语言:javascript
复制
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests().antMatchers("/**").permitAll();
    }
}

这将移除服务中所有终结点的身份验证。稍后,您可以通过这个类进一步配置安全性。

删除安全自动配置

当在类路径上发现Spring security时,Spring Boot会自动配置安全性。如果您不想通过更改您的@SpringBootApplication注释来自动配置它,您可以将其全部删除。

代码语言:javascript
复制
@SpringBootApplication(exclude = {SecurityAutoConfiguration.class})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55564486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档