From 69f4e8b53a4091223d4d71893b52021e2dcc968d Mon Sep 17 00:00:00 2001 From: Gabriel Hollies Date: Tue, 29 Sep 2020 17:32:38 -0400 Subject: [PATCH] Configure Sentinel Password * Added new configuration field to allow a different password to be used for authenticating against sentinel nodes Signed-off-by: Gabriel Hollies --- .../redisson/config/SentinelServersConfig.java | 18 ++++++++++++++++++ .../connection/SentinelConnectionManager.java | 10 +++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/redisson/src/main/java/org/redisson/config/SentinelServersConfig.java b/redisson/src/main/java/org/redisson/config/SentinelServersConfig.java index 3a8e860cc..04b35b000 100644 --- a/redisson/src/main/java/org/redisson/config/SentinelServersConfig.java +++ b/redisson/src/main/java/org/redisson/config/SentinelServersConfig.java @@ -37,6 +37,8 @@ public class SentinelServersConfig extends BaseMasterSlaveServersConfig disconnectedSlaves = new HashSet<>(); private ScheduledFuture monitorFuture; private AddressResolver sentinelResolver; - + private final NatMapper natMapper; + private final String sentinelPassword; private boolean usePassword = false; private String scheme; @@ -79,6 +80,7 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager { } this.config = create(cfg); + this.sentinelPassword = cfg.getSentinelPassword(); initTimer(this.config); this.natMapper = cfg.getNatMapper(); @@ -251,7 +253,13 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager { String sslHostname) { RedisClientConfig result = super.createRedisConfig(type, address, timeout, commandTimeout, sslHostname); if (type == NodeType.SENTINEL && !usePassword) { + result.setUsername(null); result.setPassword(null); + } else if (type == NodeType.SENTINEL && usePassword) { + result.setUsername(null); + if (sentinelPassword != null) { + result.setPassword(sentinelPassword); + } } return result; }