gpt4 book ai didi

spring-boot - 用于启用 SSL 的 Spring Boot Cassandra 配置

转载 作者:行者123 更新时间:2023-12-04 22:37:38 24 4
gpt4 key购买 nike

我正在开发一个使用 Cassandra 的 Spring Boot 应用程序。我想在我的应用程序中启用 SSL,但似乎找不到如何配置 Cassandra 以使用 SSL。

@Configuration
class CassandraApplicationConfiguration extends AbstractCassandraConfiguration {

@Value("${spring.data.cassandra.contact-points:localhost}")
private String contactPoints;

@Value("${spring.data.cassandra.keyspace-name:my_keyspace}")
private String keySpace;

@Value("${spring.data.cassandra.port:9042}")
private int port;

@Value("${spring.data.cassandra.username:cassandra}")
private String username;

@Value("${spring.data.cassandra.password:cassandra}")
private String password;

@Value("${spring.data.cassandra.schema-action:NONE}")
private String schemaAction;

@Override
protected AuthProvider getAuthProvider() {
return new PlainTextAuthProvider(username, password);
}
}
此外,我正在使用带有以下依赖项的默认驱动程序。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-cassandra</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
只需以下标志即可传递信任库和密码
-Djavax.net.ssl.trustStore=~/keys/internal-truststore
-Djavax.net.ssl.trustStorePassword=password

最佳答案

如果您使用的是集群工厂 bean

@Bean 
@Override public CassandraClusterFactoryBean cluster() {
CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean();
PlainTextAuthProvider sap = new PlainTextAuthProvider(env.getProperty("cassandra.username"), env.getProperty("cassandra.password"));
cluster.setContactPoints(env.getProperty("cassandra.contactpoints"));
cluster.setPort(Integer.parseInt(env.getProperty("cassandra.port")));
cluster.setAuthProvider(sap);
cluster.setSslEnabled(true);
return cluster; }

关于spring-boot - 用于启用 SSL 的 Spring Boot Cassandra 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65522576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com