美文网首页
安全认证--kerberos

安全认证--kerberos

作者: cnzhanhao | 来源:发表于2019-05-07 23:17 被阅读0次

最近工作当中用到kerberos,了解了一下,设计的还是非常巧妙的。本来想自己写,但里面太绕了,直接附上一篇写的比较不错的博客(地址:https://blog.csdn.net/wulantian/article/details/42418231
如果链接失效可以直接看下图

blog.csdn.net_wulantian_article_details_42418231.png

自己搭建kerberos

这块容我改天有空的时候,弄过再写

接入kerberos

  • kafka
Properties props = new Properties();
props.put("bootstrap.servers", ConfUtil.get("brokers"));
props.put("group.id", "test");
props.put("client.id", "test");
props.put("fetch.max.bytes", 1024);// 为了便于测试,这里设置一次fetch 请求取得的数据最大值为1KB,默认是5MB
props.put("enable.auto.commit", false);// 设置手动提交偏移量
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");

if ("open".equals(ConfUtil.get("krb5.switch"))) {
    System.setProperty("java.security.auth.login.config", ConfUtil.get("jaas.conf.path"));
    System.setProperty("java.security.krb5.conf", ConfUtil.get("krb5.conf.path"));
    System.setProperty("javax.security.auth.useSubjectCredsOnly", "true");
    System.setProperty("sun.security.krb5.debug", "false");

    props.put("security.protocol", "SASL_PLAINTEXT");
    //properties.put(SECURITY_PROTOCOL, "SASL_PLAINTEXT");
    //properties.put("sasl.mechanism", "GSSAPI");
    System.out.println("安全认证开启,设置认证参数,files" + ConfUtil.get("jaas.conf.path") + " " + ConfUtil.get("krb5.conf.path"));
}

KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
...
其他的都一样

相关文章

网友评论

      本文标题:安全认证--kerberos

      本文链接:https://www.haomeiwen.com/subject/sfbuoqtx.html