diff --git a/dubbo-common/src/main/java/com/alibaba/dubbo/common/URL.java b/dubbo-common/src/main/java/com/alibaba/dubbo/common/URL.java index 7180a673ab58de31144d4793ddd69f12aac192c1..a316691dc36442bb5480e02f1c4de1b6ca5863df 100644 --- a/dubbo-common/src/main/java/com/alibaba/dubbo/common/URL.java +++ b/dubbo-common/src/main/java/com/alibaba/dubbo/common/URL.java @@ -253,6 +253,15 @@ public final class URL implements Serializable { public String getPassword() { return password; } + + public String getAuthority() { + if ((username == null || username.length() == 0) + && (password == null || password.length() == 0)) { + return null; + } + return (username == null ? "" : username) + + ":" + (password == null ? "" : password); + } public String getHost() { return host; diff --git a/dubbo-registry/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistry.java b/dubbo-registry/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistry.java index 51747d9368fcb820ad4c953aba3aced0f88cbad3..e46399e74f200404f48072eb5bb1e366548ec6f3 100644 --- a/dubbo-registry/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistry.java +++ b/dubbo-registry/dubbo-registry-zookeeper/src/main/java/com/alibaba/dubbo/registry/zookeeper/ZookeeperRegistry.java @@ -249,7 +249,7 @@ public class ZookeeperRegistry extends FailbackRegistry { } }); if (auth) { - zk.addAuthInfo(url.getUsername(), url.getPassword().getBytes()); + zk.addAuthInfo("digest", url.getAuthority().getBytes()); } return zk; }