如何禁用spring-security登录界面?

问题描述 投票:15回答:5

我正在使用spring-boot-starter-security依赖项,以使用spring-security附带的几个类。但是,由于我想将它集成到现有的vaadin应用程序中,我只想使用这些类,而不是使用spring的默认登录/验证屏幕。

如何禁用此屏幕?

我不能通过扩展WebSecurityConfigurerAdapter作为我的主要入门类extends SpringBootServletInitializer来进行任何配置。此外,vaadin应用程序基本上始终在相同的URL路径上运行,并使用内部导航。

@EnableAutoConfiguration
public class MyApp extends SpringBootServletInitializer { 

        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(MyApp.class);
        }

        public static void main(String[] args) {
            SpringApplication.run(MyApp.class, args);
        }
}

那么,我该怎么做才能禁用登录界面,但是虽然使用了弹簧安全功能?

java spring spring-security vaadin spring-boot
5个回答
6
投票

Spring Boot中的默认安全性是Basic。你可以通过设置security.basic.enabled=false来禁用它。更多关于这个herehere


22
投票

你可以使用这样的基于java的配置:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity security) throws Exception
    {
     security.httpBasic().disable();
    }
}

如果它自动刷新,请重新启动它。


1
投票

如果有人仍然需要解决方案,请将方法放在REST控制器中,如下所示:

@RestController
public class myRestController{

    @GetMapping("/login")
    public String redirectTo(){
        return "yourRedirectLink";
    }

}

这种解决方案非常适合使用弹簧并在罐子中进行反应


0
投票

似乎有一个更简单的解决方案。

只需将此注释放在主要类或与SpingBootApplication注释相同的位置即可

@EnableAutoConfiguration(exclude = {org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class})


-1
投票

通过从自动配置中排除默认弹簧安全性来禁用它。将SecurityAutoConfiguration.class添加到主类的exclude注释的@SpringBootApplication属性中。如下:

@SpringBootApplication(exclude = { SecurityAutoConfiguration.class })
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.