Java 是否可以在SpringCloudStreamStarter应用程序上禁用安全性?

Java 是否可以在SpringCloudStreamStarter应用程序上禁用安全性?,java,spring-boot,kubernetes,spring-cloud-stream,spring-cloud-dataflow,Java,Spring Boot,Kubernetes,Spring Cloud Stream,Spring Cloud Dataflow,我正在玩Spring云数据流。我已经使用相关的技术成功地在Kubernetes上部署了SCDF。注册时,一切正常,无需在流定义部署期间进一步配置starter应用程序 使用时,Spring Boot 2.0的开关引入了一些需要适应的变化,例如,致动器端点发生了变化。以下是我在流部署期间提供的属性,以供参考: app.*.management.endpoints.web.exposure.include=health,info,binders deployer.*.cpu=2 deployer.*

我正在玩Spring云数据流。我已经使用相关的技术成功地在Kubernetes上部署了SCDF。注册时,一切正常,无需在流定义部署期间进一步配置starter应用程序

使用时,Spring Boot 2.0的开关引入了一些需要适应的变化,例如,致动器端点发生了变化。以下是我在流部署期间提供的属性,以供参考:

app.*.management.endpoints.web.exposure.include=health,info,binders
deployer.*.cpu=2
deployer.*.memory=4096
deployer.http.count=2
deployer.*.kubernetes.livenessProbePath=/actuator/health
deployer.*.kubernetes.readinessProbePath=/actuator/info
但是,就绪探测失败,因为
运行状况
信息
端点现在似乎默认受到保护。因此,从库伯内特的角度来看,这些豆荚最终会陷入崩溃,因为它们从未准备好

我按照我的流定义所依赖的指南(例如,
吞吐量
sink)解决了这个问题,如下所示:

@SpringBootApplication
@Import({org.springframework.cloud.stream.app.throughput.sink.ThroughputSinkConfiguration.class})
public class DemoApplication {

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

    @Configuration
    protected static class ThroughputSinkSecurityConfiguration extends WebSecurityConfigurerAdapter {

        @Override
        protected void configure(HttpSecurity http) throws Exception {
            http
                .authorizeRequests()
                .requestMatchers(EndpointRequest.to("health", "info")).permitAll();
        }

    }
}

有没有办法通过标志或属性指定这种安全配置?默认情况下,这样一个
Web安全配置适配器是否应该存在,以使Kubernetes可以访问
健康
信息
端点?

我建议从另一个角度研究情况,并提供Kubernetes提供的凭据,以访问您的安全微服务

目前的问题是,所有的资源都必须得到保护


您可以生成自己的静态密码并将其存储在
应用程序中。属性
不要为每次应用程序重新启动重新配置Kubernetes:

我建议从另一个角度研究情况,并提供Kubernetes提供的凭据以访问您的安全微服务

目前的问题是,所有的资源都必须得到保护


您可以生成自己的静态密码并将其存储在
应用程序中。属性
不会为每次应用程序重新启动重新配置Kubernetes:

Artem的响应非常相关。我还想分享一些其他针对安全性和OOTB应用程序的方法

  • 在1.6快照中,我们最近添加了对通过插件基本身份验证领域与安全执行器端点交互的支持。它们既适用于活性探针,也适用于准备就绪探针。这是你的参考资料

  • 如果您根本不想要安全性,尽管不推荐,您可以显式禁用安全配置

  • dataflow:>streamcreatefoo——定义“http |吞吐量”

    dataflow:>stream deploy foo--properties app.*.spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration“


    (即,
    foo
    流定义中的所有应用程序都将以
    SecurityAutoConfiguration
    开始排除)

    Artem的回答非常相关。我还想分享一些其他特定于安全和OOTB应用程序的方法

  • 在1.6快照中,我们最近添加了对通过插件基本身份验证领域与安全执行器端点交互的支持。它们适用于活动性和就绪性探测。以下是供您参考的

  • 如果您根本不想要安全性,尽管不推荐,您可以显式禁用安全配置

  • dataflow:>streamcreatefoo——定义“http |吞吐量”

    dataflow:>stream deploy foo--properties app.*.spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration“


    (即,
    foo
    流定义中的所有应用程序都将以
    SecurityAutoConfiguration
    开始排除)

    谢谢Sabby。我也这么认为,是的,阿泰姆斯的回应是生产的方式。在此阶段,我需要一种快速禁用安全配置的方法,因此您的答案与我最相关。谢谢Sabby。我也这么认为,是的,阿泰姆斯的回应是生产的方式。在此阶段,我需要一种快速禁用安全配置的方法,因此您的答案与我最相关。