
Zookeeper::addAuth 메서드는 Zookeeper의 인증 메커니즘을 설정하는 데 사용됩니다. 이 메서드는 Zookeeper에 인증을 추가하여 클라이언트의 인증 정보를 검증하는 데 사용됩니다.
scheme 파라미터는 인증 스키마를 나타내며, 현재 지원되는 스키마는 "digest"와 "scram-sha-256"입니다. scheme은 인증 스키마의 종류를 지정하며, 이 스키마에 따라 인증 정보가 다르게 처리됩니다.
authString 파라미터는 인증 정보를 나타내며, scheme에 따라 다르게 처리됩니다. 예를 들어, "digest" 스키마의 경우, authString에는 사용자 이름과 암호가 포함됩니다.
Zookeeper가 addAuth 메서드를 사용하여 인증을 설정한 후, 클라이언트가 Zookeeper에 접근할 때 인증 정보를 검증합니다. 클라이언트가 인증 정보를 제공하면, Zookeeper는 scheme에 따라 인증 정보를 검증합니다. 인증이 성공하면, 클라이언트에게 접근 허용을 허용하고, 인증이 실패하면 접근을 거부합니다.
Zookeeper::addAuth 메서드를 사용하여 인증을 설정하는 예제는 다음과 같습니다.
#hostingforum.kr
java
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooDefs;
import org.apache.zookeeper.ZooKeeper;
public class ZookeeperAuthExample {
public static void main(String[] args) throws Exception {
// Zookeeper 연결
ZooKeeper zk = new ZooKeeper("localhost:2181", 10000, null);
// 인증 스키마 설정
String scheme = "digest";
String authString = "username:password";
// 인증 설정
zk.addAuth(scheme, authString.getBytes());
// 노드 생성
String path = "/example/node";
zk.create(path, "example data".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
// 노드 삭제
zk.delete(path, -1);
// Zookeeper 종료
zk.close();
}
}
이 예제에서는 "digest" 스키마를 사용하여 인증을 설정하고, 노드를 생성하고 삭제하는 과정을 보여줍니다.
2025-05-02 23:46